]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[430-configure-location-of-datadir] Forked all-keys.json files into stable and curren...
authorFrancis Dupont <fdupont@isc.org>
Mon, 11 Mar 2019 15:01:04 +0000 (16:01 +0100)
committerFrancis Dupont <fdupont@isc.org>
Fri, 15 Mar 2019 23:23:05 +0000 (00:23 +0100)
doc/Makefile.am
doc/examples/kea4/all-keys-current.json [new file with mode: 0644]
doc/examples/kea4/all-keys-stable.json [moved from doc/examples/kea4/all-keys.json with 99% similarity]
doc/examples/kea6/all-keys-current.json [new file with mode: 0644]
doc/examples/kea6/all-keys-stable.json [moved from doc/examples/kea6/all-keys.json with 99% similarity]
src/bin/dhcp4/tests/parser_unittest.cc
src/bin/dhcp6/tests/parser_unittest.cc
src/lib/yang/tests/adaptor_config_unittests.cc
src/lib/yang/tests/config_unittests.cc

index 192f64d44c70c52b38387908ccb0c1e900d4e738..c884546ea5d886afcb009f32467316069ff94410 100644 (file)
@@ -19,7 +19,8 @@ nobase_dist_doc_DATA += examples/https/httpd2/kea-httpd2.conf
 nobase_dist_doc_DATA += examples/https/nginx/kea-nginx.conf
 nobase_dist_doc_DATA += examples/https/shell/kea-stunnel.conf
 nobase_dist_doc_DATA += examples/kea4/advanced.json
-nobase_dist_doc_DATA += examples/kea4/all-keys.json
+nobase_dist_doc_DATA += examples/kea4/all-keys-current.json
+nobase_dist_doc_DATA += examples/kea4/all-keys-stable.json
 nobase_dist_doc_DATA += examples/kea4/backends.json
 nobase_dist_doc_DATA += examples/kea4/cassandra.json
 nobase_dist_doc_DATA += examples/kea4/classify.json
@@ -40,7 +41,8 @@ nobase_dist_doc_DATA += examples/kea4/shared-network.json
 nobase_dist_doc_DATA += examples/kea4/single-subnet.json
 nobase_dist_doc_DATA += examples/kea4/with-ddns.json
 nobase_dist_doc_DATA += examples/kea6/advanced.json
-nobase_dist_doc_DATA += examples/kea6/all-keys.json
+nobase_dist_doc_DATA += examples/kea6/all-keys-current.json
+nobase_dist_doc_DATA += examples/kea6/all-keys-stable.json
 nobase_dist_doc_DATA += examples/kea6/backends.json
 nobase_dist_doc_DATA += examples/kea6/cassandra.json
 nobase_dist_doc_DATA += examples/kea6/classify.json
diff --git a/doc/examples/kea4/all-keys-current.json b/doc/examples/kea4/all-keys-current.json
new file mode 100644 (file)
index 0000000..9db98c9
--- /dev/null
@@ -0,0 +1,748 @@
+// WARNING: This example configuration is not meant for production use.
+// The Kea DHCPv4 server will refuse this configuration because it contains
+// mutually exclusive configuration parameters.
+//
+// The primary purpose of the example file is to provide a comprehensive
+// list of parameters supported by Kea DHCPv4 server along with the brief
+// description of each parameter.
+//
+// This current version should be up to date, i.e. new keywords should be
+// added in this file at the same time than in the syntax.
+{
+    // Kea DHCPv4 server configuration begins here.
+    "Dhcp4": {
+        // Global bootfile name to be set in the 'file' field.
+        "boot-file-name": "/dev/null",
+
+        // Ordered list of client classes used by the DHCPv4 server.
+        "client-classes": [
+            {
+                // Class specific bootfile name to be set in the 'file' field.
+                "boot-file-name": "/tmp/bootfile.efi",
+
+                // Class name.
+                "name": "phones_server1",
+
+                // Class specific next server address to use in bootstrap, which
+                // is set in 'siaddr' field.
+                "next-server": "10.2.3.4",
+
+                // Class specific DHCPv4 options list.
+                "option-data": [],
+
+                // Class specific DHCPv4 option definitions, i.e. custom formats
+                // specified for non-standard options.
+                "option-def": [],
+
+                // Class specific optional server hostname, which is set in
+                // 'sname' field.
+                "server-hostname": "",
+
+                // Class selection expression. The DHCP packet is assigned to this
+                // class when the given expression evaluates to true.
+                "test": "member('HA_server1')"
+            },
+            {
+                // Default value of the class specific bootfile name. Empty name
+                // means that the bootfile name is unspecified.
+                "boot-file-name": "",
+
+                // Second class name.
+                "name": "phones_server2",
+
+                // Default value of the class specific next server address. The
+                // zero IPv4 address means that it is unspecified.
+                "next-server": "0.0.0.0",
+
+                // Class specific DHCPv4 options list.
+                "option-data": [],
+
+                // Class specific DHCPv4 option definitions, i.e. custom formats
+                // specified for non-standard options.
+                "option-def": [],
+
+                // Class specific optional server hostname, which is set in
+                // 'sname' field.
+                "server-hostname": "",
+
+                // Class selection expression. The DHCP packet is assigned to this
+                // class when the given expression evaluates to true.
+                "test": "member('HA_server2')"
+            },
+
+            {
+                // Third class name.
+                "name": "late",
+
+                // Boolean flag indicating that the class expression is only evaluated
+                // when the class is required, e.g. selected address pool configuration
+                // includes this class name in its "require-client-classes" list. The
+                // default value false means that the class test expression must
+                // always be evaluated.
+                "only-if-required": true,
+
+                // Class selection expression.
+                "test": "member('ALL')"
+            }
+        ],
+
+        // Command control socket configuration parameters for Kea DHCPv4 server.
+        "control-socket": {
+            // Location of the unix domain socket file the DHCPv4 server uses
+            // to receive control commands from the Kea Control Agent or the
+            // local server administrator.
+            "socket-name": "/tmp/kea-dhcp4-ctrl.sock",
+
+            // Control socket type used by the Kea DHCPv4 server. The 'unix'
+            // socket is currently the only supported type.
+            "socket-type": "unix"
+        },
+
+        // Time in seconds specifying how long a declined lease should be
+        // excluded from DHCP assignments. The default value is 24 hours.
+        "decline-probation-period": 86400,
+
+        // Name Change Requests forwarding configuration for Kea DHCPv4 server.
+        // NCRs are sent to Kea D2 module to update DNS upon allocation of the
+        // DHCP leases.
+        "dhcp-ddns": {
+            // Boolean flag indicating if Kea DHCPv4 server must generate NCRs.
+            // By default NCRs are not generated.
+            "enable-updates": false,
+
+            // Specifies a prefix to be prepended to the generated Client FQDN.
+            "generated-prefix": "myhost",
+
+            // String of zero or more characters with which to replace each
+            // invalid character in the hostname or Client FQDN. The default
+            // value is an empty string which will cause invalid characters
+            // to be omitted rather than replaced.
+            "hostname-char-replacement": "x",
+
+            // Regular expression describing the invalid character set in
+            // the hostname or Client FQDN.
+            "hostname-char-set": "[^A-Za-z0-9.-]",
+
+            // Specifies maximum number of NCRs to queue waiting to be sent
+            // to Kea D2 server.
+            "max-queue-size": 1024,
+
+            // Packet format to use when sending NCRs to Kea D2 server.
+            // Currently, only JSON format is supported.
+            "ncr-format": "JSON",
+
+            // Socket protocol to use when sending NCRs to D2. Currently,
+            // only UDP is supported.
+            "ncr-protocol": "UDP",
+
+            // Boolean flag indicating that server should ignore DHCP client
+            // wishes to update DNS on its own. With that flag set to true
+            // the server will send DNS updates for both forward and
+            // reverse DNS data. The default value is false, which indicates
+            // that the server will delegate DNS update to the client when
+            // requested.
+            "override-client-update": false,
+
+            // Boolean flag indicating that the server should override DHCP
+            // client's wish to not update the DNS. With this parameter
+            // set to true the server will send DNS update even when
+            // the client requested no update.
+            "override-no-update": false,
+
+            // Suffix appended to the partial name sent to the DNS. The
+            // default value is an empty string which indicates that no
+            // suffix is appended.
+            "qualifying-suffix": "",
+
+            // Enumeration specifying whether the server should honor
+            // hostname or Client FQDN sent by the client or replace
+            // this name. The acceptable values are: "never" (use the
+            // name the client sent), "always" (replace the name the
+            // client sent), "when-present" (replace the name the client
+            // sent, but do not generate one when the client didn't sent
+            // the name), "when-not-present" (generate the name when
+            // client didn't send one, otherwise leave the name the
+            // client sent). The default value is "never".
+            "replace-client-name": "never",
+
+            // IP address that Kea DHCPv4 server should use to send
+            // NCRs to D2. Default value of zero indicates that Kea
+            // should pick suitable address.
+            "sender-ip": "0.0.0.0",
+
+            // Port number that Kea DHCPv4 server should use to send
+            // NCRs to D2. Default value of zero indicates that Kea
+            // should pick suitable port.
+            "sender-port": 0,
+
+            // IP address on which D2 listens for NCRs.
+            "server-ip": "127.0.0.1",
+
+            // Port number on which D2 listens for NCRs.
+            "server-port": 53001
+        },
+
+        // Specifies the first of the two consecutive ports of the UDP
+        // sockets used for communication between DHCPv6 and DHCPv4
+        // servers. See RFC 7341.
+        "dhcp4o6-port": 6767,
+
+        // Boolean flag indicating whether or not the Kea DHCPv4 server
+        // should send back Client Identifier option in its responses.
+        // The default value is true which indicates that the option
+        // must be sent back if the client included it. The false
+        // value instructs the server to not send this option for
+        // backward compatibility with older DHCP specifications which
+        // stated that Client Identifier must not be sent back.
+        "echo-client-id": true,
+
+        // Collection of Kea DHCPv4 server parameters configuring how
+        // the server should process expired DHCP leases.
+        "expired-leases-processing": {
+            // Specifies the number of seconds since last removal of
+            // the expired leases when next removal should occur.
+            "flush-reclaimed-timer-wait-time": 25,
+
+            // Specifies the time period in seconds to keep expired
+            // leases in the lease database (lease affinity).
+            "hold-reclaimed-time": 3600,
+
+            // Specifies the maximum number of expired leases that can be
+            // processed in a single attempt to clean up the lease
+            // database from the expired leases. If there are more
+            // expired leases, they will be processed during the next
+            // cleanup attempt.
+            "max-reclaim-leases": 100,
+
+            // Specifies the maximum time in milliseconds that the single
+            // attempt to cleanup the lease database from the expired
+            // leases may take.
+            "max-reclaim-time": 250,
+
+            // Specifies the time period in seconds since last attempt
+            // to process expired leases to initiate the next attempt.
+            "reclaim-timer-wait-time": 10,
+
+            // Specifies the maximum number of expired leases processing
+            // cycles which didn't result in full cleanup of the lease
+            // database from the expired leases, after which a
+            // warning message is issued.
+            "unwarned-reclaim-cycles": 5
+        },
+
+        // List of hooks libraries and their specific configuration parameters
+        // to be loaded by Kea DHCPv4 server.
+        "hooks-libraries": [
+            {
+                // Location of the hooks library to be loaded.
+                "library": "/opt/lib/hooks/libdhcp_lease_cmds.so",
+
+                // Hook library specific configuration parameters.
+                "parameters": { }
+            }
+        ],
+
+        // List of access credentials to external sources of IPv4 reservations,
+        "hosts-databases": [
+            {
+                // Name of the database to connect to.
+                "name": "kea",
+
+                // Host on which the database resides.
+                "host": "localhost",
+
+                // Database password.
+                "password": "kea",
+
+                // Port on which the database is available.
+                "port": 3306,
+
+                // Type of the database, e.g. "mysql", "pgsql", "cql".
+                "type": "mysql",
+
+                // User name to be used to access the database.
+                "user": "kea"
+            }
+        ],
+
+        // List of host reservation identifier types to be used by the
+        // Kea DHCPv4 server to fetch static reservations for the
+        // DHCP clients. All identifiers are used by default, which
+        // means that the server will issue multiple queries to the
+        // database to find if there is a reservation for the particular
+        // client. If the particular deployment uses only subset, e.g.
+        // one, identifier type, this identifier should be only listed
+        // here to prevent unnecessary queries to the database.
+        "host-reservation-identifiers": [
+            "hw-address",
+            "duid",
+            "circuit-id",
+            "client-id",
+            "flex-id"
+        ],
+
+        // Specifies configuration of interfaces on which the Kea DHCPv4
+        // server is listening to the DHCP queries.
+        "interfaces-config": {
+            // Specifies whether the server should use "udp" socket or
+            // "raw" sockets to listen to the DHCP traffic. The "raw"
+            // sockets are useful when direct DHCP traffic is being
+            // received.
+            "dhcp-socket-type": "udp",
+
+            // Specifies a list of interfaces on which the Kea DHCPv4
+            // server should listen to the DHCP requests.
+            "interfaces": [
+                "ethX"
+            ],
+
+            // Enumeration which indicates what interface should be used
+            // to send DHCP response to the client. The default value is
+            // "same-as-inbound" which indicates that the response should
+            // be sent via the interface on which the client's query
+            // was received. The "use-routing" value indicates that the
+            // Kea server should use kernel's routing table to find the
+            // suitable interface.
+            "outbound-interface": "same-as-inbound",
+
+            // Boolean flag indicating if the available interfaces should
+            // be re-detected upon server reconfiguration. The default value
+            // is true which means that the interfaces are always
+            // re-detected.
+            "re-detect": true
+        },
+
+        // Specifies credentials to access lease database.
+        "lease-database": {
+            // memfile backend specific parameter specifying the interval
+            // in seconds at which lease file should be cleaned up (outdated
+            // lease entries are removed to prevent lease file from growing
+            // infinitely).
+            "lfc-interval": 3600,
+
+            // Name of the lease file. In case of database it specifies the
+            // database name.
+            "name": "/tmp/kea-dhcp4.csv",
+
+            // memfile specific parameter indicating whether leases should
+            // be saved on persistent storage (disk) or not. The true value
+            // is the default and it indicates that leases are stored in the
+            // persistent storage. This setting must be used in production.
+            // The false value should only be used for testing purposes
+            // because non stored leases will be lost upon Kea server restart.
+            "persist": true,
+
+            // Lease database backend type, i.e. "memfile", "mysql", "pgsql"
+            // or "cql".
+            "type": "memfile"
+        },
+
+        // Boolean value indicating if the Kea DHCPv4 server should use client
+        // identifier value sent by the client or ignore it. The default value
+        // is true which indicate that the server should use client identifier
+        // and that it takes precedence over client's MAC address. In deployments
+        // where MAC address should take precedence this value can be set to
+        // false, in which case the clients will be identified by MAC address.
+        // This is specifically useful when clients don't generate unique
+        // identifiers or these identifiers are not stable etc.
+        "match-client-id": false,
+
+        // Global value of the next server address set in 'siaddr' field.
+        // The global value may be overriden in lower level configuration
+        // scopes.
+        "next-server": "192.0.2.123",
+
+        // List of global DHCP options that Kea DHCPv4 server assigns to the
+        // clients.
+        "option-data": [
+            {
+                // Boolean flag indicating if the given option is always
+                // send in response or only when requested. The default
+                // value of false indicates that it is only sent when
+                // requested.
+                "always-send": false,
+
+                // Option code. It is not required if the option name is
+                // provided.
+                "code": 6,
+
+                // Boolean value indicating whether the option data specified
+                // in the "data" field is specified as a string of hexadecimal
+                // digits or in human readable CSV format.
+                "csv-format": true,
+
+                // Option data to be stored in the option payload.
+                "data": "192.0.3.1, 192.0.3.2",
+
+                // Option name. It is not required of the option code is
+                // provided.
+                "name": "domain-name-servers",
+
+                // Option space. The default is the "dhcp4" option space which
+                // groups top level DHCPv4 options.
+                "space": "dhcp4"
+            }
+        ],
+
+        // List of global option definitions, i.e. option formats, that the
+        // Kea DHCPv4 server is using.
+        "option-def": [
+            {
+                // Boolean flag indicating if the option definition comprises
+                // an array of values of some type, e.g. array of IPv4 addresses.
+                // The default value of false means that the option does not
+                // comprise an array of values.
+                "array": false,
+
+                // Option code.
+                "code": 6,
+
+                // Holds a name of the option space encapsulated by this option.
+                // All options that belong to this option space will be sent
+                // as sub-options of this option. Empty string means that this
+                // option doesn't encapsulate any option.
+                "encapsulate": "",
+
+                // Option name.
+                "name": "my-option",
+
+                // Specifies the types of fields within the option if the option
+                // is said to be a "record" (see "type"). in this particular example
+                // this option comprises two fields, 1 byte and 2 bytes long.
+                "record-types": "uint8, uint16",
+
+                // Name of the option space to which this option belongs.
+                "space": "my-space",
+
+                // Option type. All possible types are listed in the Kea
+                // Administrator Reference Manual.
+                "type": "record"
+            }
+        ],
+
+        // Global value for the rebind timer, i.e. the time after which the
+        // DHCP client enters rebind state if it fails to renew the lease.
+        "rebind-timer": 40,
+
+        // Global value for the renew timer, i.e. the timer after which the
+        // DHCP client renews the lease.
+        "renew-timer": 30,
+
+        // Governs how the Kea DHCPv4 server should deal with the invalid
+        // data received from the client.
+        "sanity-checks": {
+            // Specifies how the Kea DHCPv4 server should behave when invalid
+            // data is read for a lease from the lease file. The following
+            // values are supported "none" (don't attempt to correct the
+            // lease information), "warn" (print a warning for subnet-id
+            // related inconsistencies), "fix" (correct the subnet id by
+            // trying to find the suitable subnet), "fix-del" (similar
+            // to "fix" but delete the lease if no suitable subnet found),
+            // "del" (delete the lease if the lease has invalid subnet
+            // identifier value).
+            "lease-checks": "warn"
+        },
+
+        // List of shared networks used by Kea DHCPv4 server. The shared
+        // networks group subnets together.
+        "shared-networks": [
+            {
+                // Shared network level bootfile name.
+                "boot-file-name": "/dev/null",
+
+                // Restricts this shared network to allow only clients
+                // that belong to the particular client class. If an
+                // empty string is provided, no restriction is applied.
+                "client-class": "",
+
+                // Specifies that this shared network is selected for the
+                // requests received on the particular interface.
+                "interface": "ethX",
+
+                // Shared network level flag specifying whether the client
+                // identifier should be used for identifying clients.
+                "match-client-id": true,
+
+                // Shared network name.
+                "name": "my-secret-network",
+
+                // Shared network level specification of the next server
+                // to be sent in 'siaddr'.
+                "next-server": "192.0.2.123",
+
+                // List of shared network specific DHCP options.
+                "option-data": [],
+
+                // List of IPv4 relay addresses for which this shared
+                // network is selected.
+                "relay": {
+                    "ip-addresses": []
+                },
+
+                // Shared network level rebind timer.
+                "rebind-timer": 41,
+
+                // Shared network level renew timer.
+                "renew-timer": 31,
+
+                // Enumeration specifying server's mode of operation when it
+                // fetches host reservations.
+                "reservation-mode": "all",
+
+                // List of client classes which must be evaluated when this shared
+                // network is selected for client assignments.
+                "require-client-classes": [ "late" ],
+
+                // Shared network level server hostname set in 'sname' field.
+                "server-hostname": "",
+
+                // List of IPv4 subnets belonging to this shared network.
+                "subnet4": [
+                    {
+                        // Interface name matched against inbound interface name.
+                        // Used in DHCPv4o6. See RFC 7341.
+                        "4o6-interface": "",
+
+                        // Interface ID option value. See RFC 7341.
+                        "4o6-interface-id": "",
+
+                        // Prefix matched against source address. See RFC7341.
+                        "4o6-subnet": "2001:db8:1:1::/64",
+
+                        // Subnet level bootfile name, set in 'file' field.
+                        "boot-file-name": "",
+
+                        // Restricts this subnet to allow only clients that belong
+                        // to the particular client class. If an empty string is
+                        // provided, no restriction is applied.
+                        "client-class": "",
+
+                        // Subnet unique identifier.
+                        "id": 1,
+
+                        // Specifies that this subnet is selected for the requests
+                        // received on the particular interface.
+                        "interface": "ethX",
+
+                        // Subnet level flag specifying whether the client identifier
+                        // should be used for identifying clients.
+                        "match-client-id": true,
+
+                        // Subnet level specification of the next server to be sent
+                        // in 'siaddr'.
+                        "next-server": "0.0.0.0",
+
+                        // Subnet level list of DHCP options.
+                        "option-data": [
+                            {
+                                // Boolean flag indicating if the particular option
+                                // should be always sent or sent only when requested.
+                                "always-send": false,
+
+                                // Option code.
+                                "code": 3,
+
+                                // Boolean flag indicating if the option value specified
+                                // in "data" is a string of hexadecimal values or human
+                                // readable CSV value.
+                                "csv-format": true,
+
+                                // Option data to be included in the option payload.
+                                "data": "192.0.3.1",
+
+                                // Option name.
+                                "name": "routers",
+
+                                // Option space. The default value "dhcp4" designates the
+                                // top level option space.
+                                "space": "dhcp4"
+                            }
+                        ],
+
+                        // List of IP address pools belonging to the subnet.
+                        "pools": [
+                            {
+                                // Restricts this pool to be only used for the client
+                                // requests belonging to a particular client class.
+                                "client-class": "phones_server1",
+
+                                // Pool level list of DHCP options.
+                                "option-data": [],
+
+                                // Address range used for client assignments.
+                                "pool": "192.1.0.1 - 192.1.0.200",
+
+                                // List of client classes which must be evaluated when this pool
+                                // is selected for client assignments.
+                                "require-client-classes": [ "late" ]
+                            },
+                            {
+                                // Restricts this pool to be only used for the client
+                                // requests belonging to a particular client class.
+                                "client-class": "phones_server2",
+
+                                // Pool level list of DHCP options.
+                                "option-data": [],
+
+                                // Address range used for client assignments.
+                                "pool": "192.3.0.1 - 192.3.0.200",
+
+                                // List of client classes which must be evaluated when this pool
+                                // is selected for client assignments.
+                                "require-client-classes": []
+                            }
+                        ],
+
+                        // Subnet level value of the rebind timer.
+                        "rebind-timer": 40,
+
+                        // List of IPv4 relay addresses for which this subnet is
+                        // selected.
+                        "relay": {
+                            "ip-addresses": [
+                                "192.168.56.1"
+                            ]
+                        },
+
+                        // Subnet level value of the renew timer.
+                        "renew-timer": 30,
+
+                        // Enumeration specifying server's mode of operation when it
+                        // fetches host reservations.
+                        "reservation-mode": "all",
+
+                        // List of static IPv4 reservations assigned to the clients belonging
+                        // to this subnet. For detailed example see reservations.json.
+                        "reservations": [
+                            {
+                                // Identifier used for client matching. Supported values are
+                                // "hw-address", "client-id", "duid", "circuit-id", "flex-id".
+                                "circuit-id": "01:11:22:33:44:55:66",
+
+                                // Reserved IP address.
+                                "ip-address": "192.0.2.204",
+
+                                // Reservation specific option data.
+                                "option-data": [
+                                    {
+                                        // Option name.
+                                        "name": "vivso-suboptions",
+
+                                        // Option data.
+                                        "data": "4491"
+                                    }
+                                ]
+                            }
+                        ],
+
+                        // List of client classes which must be evaluated when this subnet
+                        // is selected for client assignments.
+                        "require-client-classes": [ "late" ],
+
+                        // Subnet level server hostname set in 'sname' field.
+                        "server-hostname": "",
+
+                        // Subnet prefix.
+                        "subnet": "192.0.0.0/8",
+
+                        // Subnet level valid lifetime.
+                        "valid-lifetime": 6000
+                    }
+                ],
+
+                // Shared network level valid lifetime.
+                "valid-lifetime": 6001
+            }
+        ],
+
+        // Global server hostname set in the 'sname' field.
+        "server-hostname": "",
+
+        // List of IPv4 subnets which don't belong to any shared network.
+        "subnet4": [],
+
+        // Global valid lifetime value.
+        "valid-lifetime": 6000,
+
+        // Reservations (examples are in other files).
+        "reservations": [],
+
+        // Configuration control (currently not used, i.e. this syntax
+        // is already defined but corresponding feature is not implemented).
+        "config-control":
+        {
+            // Only configuration databases entry is defined.
+            "config-databases": [
+                {
+                    // Name of the database to connect to.
+                    "name": "config",
+
+                    // Type of the database, e.g. "mysql", "pgsql", "cql".
+                    "type": "mysql"
+                }
+            ]
+        },
+
+        // Server tag.
+        "server-tag": "my DHCPv4 server",
+
+        // DHCP queue control parameters.
+        "dhcp-queue-control":
+        {
+            // Enable queue is mandatory.
+            "enable-queue": true,
+
+            // Queue type was mandatory.
+            "queue-type": "kea-ring4"
+        },
+
+        // Fetches host reservations.
+        "reservation-mode": "all",
+
+        // Compute T1 and T2 timers.
+        "calculate-tee-times": true,
+
+        // T1 = valid lifetime * .5.
+        "t1-percent": .5,
+
+        // T2 = valid lifetime * .75.
+        "t2-percent": .75
+
+    },
+
+    // Logging configuration begins here.
+    "Logging": {
+
+        // List of loggers used by the servers using this configuration file.
+        "loggers": [
+            {
+                // Debug level, a value between 0..99. The greater the value
+                // the more detailed debug log.
+                "debuglevel": 99,
+
+                // Name of the logger.
+                "name": "kea-dhcp4",
+
+                // Configures how the log should be output.
+                "output_options": [
+                    {
+                        // Determines whether the log should flushed to a file.
+                        "flush": true,
+
+                        // Specifies maximum filesize before the file is being rotated.
+                        "maxsize": 10240000,
+
+                        // Specifies the maximum number of rotated files being kept.
+                        "maxver": 1,
+
+                        // Specifies logging destination.
+                        "output": "stdout"
+                    }
+                ],
+
+                // Specifies logging severity, i.e. "ERROR", "WARN", "INFO", "DEBUG".
+                "severity": "INFO"
+            }
+        ]
+    }
+}
similarity index 99%
rename from doc/examples/kea4/all-keys.json
rename to doc/examples/kea4/all-keys-stable.json
index 6c889c924cce07d895c3d290ee1634811e43509d..4c2da4b82e8cb380bd0900f151a5e9e848a400f7 100644 (file)
@@ -5,6 +5,9 @@
 // The primary purpose of the example file is to provide a comprehensive
 // list of parameters supported by Kea DHCPv4 server along with the brief
 // description of each parameter.
+//
+// This stable version is used for YANG as we do not want to update code
+// and models each time a keyword is added to the syntax.
 {
     // Kea DHCPv4 server configuration begins here.
     "Dhcp4": {
diff --git a/doc/examples/kea6/all-keys-current.json b/doc/examples/kea6/all-keys-current.json
new file mode 100644 (file)
index 0000000..ae2ce29
--- /dev/null
@@ -0,0 +1,697 @@
+// WARNING: This example configuration is not meant for production use.
+// The Kea DHCPv6 server will refuse this configuration because it contains
+// mutually exclusive configuration parameters.
+//
+// The primary purpose of the example file is to provide a comprehensive
+// list of parameters supported by Kea DHCPv6 server along with the brief
+// description of each parameter.
+//
+// This current version should be up to date, i.e. new keywords should be
+// added in this file at the same time than in the syntax.
+{
+    // Kea DHCPv6 server configuration begins here.
+    "Dhcp6": {
+        // Ordered list of client classes used by the DHCPv6 server.
+        "client-classes": [
+            {
+                // Class name.
+                "name": "phones_server1",
+
+                // Class specific DHCPv6 options list.
+                "option-data": [],
+
+                // Class selection expression. The DHCP packet is assigned to this
+                // class when the given expression evaluates to true.
+                "test": "member('HA_server1')"
+            },
+            {
+                // Second class name.
+                "name": "phones_server2",
+
+                // Class specific DHCPv6 options list.
+                "option-data": [],
+
+                // Class selection expression. The DHCP packet is assigned to this
+                // class when the given expression evaluates to true.
+                "test": "member('HA_server2')"
+            },
+            {
+                // Third class name.
+                "name": "late",
+
+                // Boolean flag indicating that the class expression is only evaluated
+                // when the class is required, e.g. selected address pool configuration
+                // includes this class name in its "require-client-classes" list. The
+                // default value false means that the class test expression must
+                // always be evaluated.
+                "only-if-required": true,
+
+                // Class selection expression.
+                "test": "member('ALL')"
+            }
+        ],
+
+        // Command control socket configuration parameters for Kea DHCPv6 server.
+        "control-socket": {
+            // Location of the unix domain socket file the DHCPv6 server uses
+            // to receive control commands from the Kea Control Agent or the
+            // local server administrator.
+            "socket-name": "/tmp/kea-dhcp6-ctrl.sock",
+
+            // Control socket type used by the Kea DHCPv6 server. The 'unix'
+            // socket is currently the only supported type.
+            "socket-type": "unix"
+        },
+
+        // Time in seconds specifying how long a declined lease should be
+        // excluded from DHCP assignments. The default value is 24 hours.
+        "decline-probation-period": 86400,
+
+        // Name Change Requests forwarding configuration for Kea DHCPv6 server.
+        // NCRs are sent to Kea D2 module to update DNS upon allocation of the
+        // DHCP leases.
+        "dhcp-ddns": {
+            // Boolean flag indicating if Kea DHCPv6 server must generate NCRs.
+            // By default NCRs are not generated.
+            "enable-updates": false,
+
+            // Specifies a prefix to be prepended to the generated Client FQDN.
+            "generated-prefix": "myhost",
+
+            // String of zero or more characters with which to replace each
+            // invalid character in the hostname or Client FQDN. The default
+            // value is an empty string which will cause invalid characters
+            // to be omitted rather than replaced.
+            "hostname-char-replacement": "x",
+
+            // Regular expression describing the invalid character set in
+            // the hostname or Client FQDN.
+            "hostname-char-set": "[^A-Za-z0-9.-]",
+
+            // Specifies maximum number of NCRs to queue waiting to be sent
+            // to Kea D2 server.
+            "max-queue-size": 1024,
+
+            // Packet format to use when sending NCRs to Kea D2 server.
+            // Currently, only JSON format is supported.
+            "ncr-format": "JSON",
+
+            // Socket protocol to use when sending NCRs to D2. Currently,
+            // only UDP is supported.
+            "ncr-protocol": "UDP",
+
+            // Boolean flag indicating that server should ignore DHCP client
+            // wishes to update DNS on its own. With that flag set to true
+            // the server will send DNS updates for both forward and
+            // reverse DNS data. The default value is false, which indicates
+            // that the server will delegate DNS update to the client when
+            // requested.
+            "override-client-update": false,
+
+            // Boolean flag indicating that the server should override DHCP
+            // client's wish to not update the DNS. With this parameter
+            // set to true the server will send DNS update even when
+            // the client requested no update.
+            "override-no-update": false,
+
+            // Suffix appended to the partial name sent to the DNS. The
+            // default value is an empty string which indicates that no
+            // suffix is appended.
+            "qualifying-suffix": "",
+
+            // Enumeration specifying whether the server should honor
+            // hostname or Client FQDN sent by the client or replace
+            // this name. The acceptable values are: "never" (use the
+            // name the client sent), "always" (replace the name the
+            // client sent), "when-present" (replace the name the client
+            // sent, but do not generate one when the client didn't sent
+            // the name), "when-not-present" (generate the name when
+            // client didn't send one, otherwise leave the name the
+            // client sent). The default value is "never".
+            "replace-client-name": "never",
+
+            // IP address that Kea DHCPv6 server should use to send
+            // NCRs to D2. Default value of zero indicates that Kea
+            // should pick suitable address.
+            "sender-ip": "::1",
+
+            // Port number that Kea DHCPv6 server should use to send
+            // NCRs to D2. Default value of zero indicates that Kea
+            // should pick suitable port.
+            "sender-port": 0,
+
+            // IP address on which D2 listens for NCRs.
+            "server-ip": "::1",
+
+            // Port number on which D2 listens for NCRs.
+            "server-port": 53001
+        },
+
+        // Specifies the first of the two consecutive ports of the UDP
+        // sockets used for communication between DHCPv6 and DHCPv4
+        // servers. See RFC 7341.
+        "dhcp4o6-port": 0,
+
+        // Collection of Kea DHCPv6 server parameters configuring how
+        // the server should process expired DHCP leases.
+        "expired-leases-processing": {
+            // Specifies the number of seconds since last removal of
+            // the expired leases when next removal should occur.
+            "flush-reclaimed-timer-wait-time": 25,
+
+            // Specifies the time period in seconds to keep expired
+            // leases in the lease database (lease affinity).
+            "hold-reclaimed-time": 3600,
+
+            // Specifies the maximum number of expired leases that can be
+            // processed in a single attempt to clean up the lease
+            // database from the expired leases. If there are more
+            // expired leases, they will be processed during the next
+            // cleanup attempt.
+            "max-reclaim-leases": 100,
+
+            // Specifies the maximum time in milliseconds that the single
+            // attempt to cleanup the lease database from the expired
+            // leases may take.
+            "max-reclaim-time": 250,
+
+            // Specifies the time period in seconds since last attempt
+            // to process expired leases to initiate the next attempt.
+            "reclaim-timer-wait-time": 10,
+
+            // Specifies the maximum number of expired leases processing
+            // cycles which didn't result in full cleanup of the lease
+            // database from the expired leases, after which a
+            // warning message is issued.
+            "unwarned-reclaim-cycles": 5
+        },
+
+        // List of hooks libraries and their specific configuration parameters
+        // to be loaded by Kea DHCPv4 server.
+        "hooks-libraries": [
+            {
+                // Location of the hooks library to be loaded.
+                "library": "/opt/lib/hooks/libdhcp_lease_cmds.so",
+
+                // Hook library specific configuration parameters.
+                "parameters": { }
+            }
+        ],
+
+        // List of access credentials to external sources of IPv6 reservations,
+        "hosts-databases": [
+            {
+                // Name of the database to connect to.
+                "name": "kea",
+
+                // Host on which the database resides.
+                "host": "localhost",
+
+                // Database password.
+                "password": "kea",
+
+                // Port on which the database is available.
+                "port": 3306,
+
+                // Type of the database, e.g. "mysql", "pgsql", "cql".
+                "type": "mysql",
+
+                // User name to be used to access the database.
+                "user": "kea"
+            }
+        ],
+
+        // List of host reservation identifier types to be used by the
+        // Kea DHCPv6 server to fetch static reservations for the
+        // DHCP clients. All identifiers are used by default, which
+        // means that the server will issue multiple queries to the
+        // database to find if there is a reservation for the particular
+        // client. If the particular deployment uses only subset, e.g.
+        // one, identifier type, this identifier should be only listed
+        // here to prevent unnecessary queries to the database.
+        "host-reservation-identifiers": [
+            "hw-address",
+            "duid",
+            "flex-id"
+        ],
+
+        // Specifies configuration of interfaces on which the Kea DHCPv6
+        // server is listening to the DHCP queries.
+        "interfaces-config": {
+            // Specifies a list of interfaces on which the Kea DHCPv6
+            // server should listen to the DHCP requests.
+            "interfaces": [
+                "ethX"
+            ],
+
+            // Boolean flag indicating if the available interfaces should
+            // be re-detected upon server reconfiguration. The default value
+            // is true which means that the interfaces are always
+            // re-detected.
+            "re-detect": true
+        },
+
+        // Specifies credentials to access lease database.
+        "lease-database": {
+            // memfile backend specific parameter specifying the interval
+            // in seconds at which lease file should be cleaned up (outdated
+            // lease entries are removed to prevent lease file from growing
+            // infinitely).
+            "lfc-interval": 3600,
+
+            // Name of the lease file. In case of database it specifies the
+            // database name.
+            "name": "/tmp/kea-dhcp6.csv",
+
+            // memfile specific parameter indicating whether leases should
+            // be saved on persistent storage (disk) or not. The true value
+            // is the default and it indicates that leases are stored in the
+            // persistent storage. This setting must be used in production.
+            // The false value should only be used for testing purposes
+            // because non stored leases will be lost upon Kea server restart.
+            "persist": true,
+
+            // Lease database backend type, i.e. "memfile", "mysql", "pgsql"
+            // or "cql".
+            "type": "memfile"
+        },
+
+        // List of parameters indicating how the client's MAC address can be
+        // inferred from the DHCP query. Supported values are listed in the
+        // Kea Administrator Reference Manual.
+        "mac-sources": [ "duid" ],
+
+        // List of global DHCP options that Kea DHCPv6 server assigns to the
+        // clients.
+        "option-data": [
+            {
+                // Boolean flag indicating if the given option is always
+                // send in response or only when requested. The default
+                // value of false indicates that it is only sent when
+                // requested.
+                "always-send": false,
+
+                // Option code. It is not required if the option name is
+                // provided.
+                "code": 23,
+
+                // Boolean value indicating whether the option data specified
+                // in the "data" field is specified as a string of hexadecimal
+                // digits or in human readable CSV format.
+                "csv-format": true,
+
+                // Option data to be stored in the option payload.
+                "data": "2001:db8:2::45, 2001:db8:2::100",
+
+                // Option name. It is not required of the option code is
+                // provided.
+                "name": "dns-servers",
+
+                // Option space. The default is the "dhcp6" option space which
+                // groups top level DHCPv6 options.
+                "space": "dhcp6"
+            }
+        ],
+
+        // List of global option definitions, i.e. option formats, that the
+        // Kea DHCPv6 server is using.
+        "option-def": [
+            {
+                // Boolean flag indicating if the option definition comprises
+                // an array of values of some type, e.g. array of IPv6 addresses.
+                // The default value of false means that the option does not
+                // comprise an array of values.
+                "array": false,
+
+                // Option code.
+                "code": 6,
+
+                // Holds a name of the option space encapsulated by this option.
+                // All options that belong to this option space will be sent
+                // as sub-options of this option. Empty string means that this
+                // option doesn't encapsulate any option.
+                "encapsulate": "",
+
+                // Option name.
+                "name": "my-option",
+
+                // Specifies the types of fields within the option if the option
+                // is said to be a "record" (see "type"). in this particular example
+                // this option comprises two fields, 1 byte and 2 bytes long.
+                "record-types": "uint8, uint16",
+
+                // Name of the option space to which this option belongs.
+                "space": "my-space",
+
+                // Option type. All possible types are listed in the Kea
+                // Administrator Reference Manual.
+                "type": "record"
+            }
+        ],
+
+        // Global value of the preferred lifetime.
+        "preferred-lifetime": 50,
+
+        // Global value for the rebind timer, i.e. the time after which the
+        // DHCP client enters rebind state if it fails to renew the lease.
+        "rebind-timer": 40,
+
+        // List of relay supplied option codes. See RFC 6422.
+        "relay-supplied-options": [ "110", "120", "130" ],
+
+        // Global value for the renew timer, i.e. the timer after which the
+        // DHCP client renews the lease.
+        "renew-timer": 30,
+
+        // Governs how the Kea DHCPv6 server should deal with the invalid
+        // data received from the client.
+        "sanity-checks": {
+            // Specifies how the Kea DHCPv6 server should behave when invalid
+            // data is read for a lease from the lease file. The following
+            // values are supported "none" (don't attempt to correct the
+            // lease information), "warn" (print a warning for subnet-id
+            // related inconsistencies), "fix" (correct the subnet id by
+            // trying to find the suitable subnet), "fix-del" (similar
+            // to "fix" but delete the lease if no suitable subnet found),
+            // "del" (delete the lease if the lease has invalid subnet
+            // identifier value).
+            "lease-checks": "warn"
+        },
+
+        // Custom DUID used by the DHCPv6 server.
+        "server-id": {
+            // Type of the DUID. Possible values are "LLT", "EN", and "LL".
+            "type": "EN",
+
+            // Enterprise id used for "EN" duid.
+            "enterprise-id": 2495,
+
+            // Identifier part of the DUID.
+            "identifier": "0123456789",
+
+            // Boolean flag indicating if the DUID should be persisted on
+            // disk.
+            "persist": false
+        },
+
+        // List of shared networks used by Kea DHCPv6 server. The shared
+        // networks group subnets together.
+        "shared-networks": [
+            {
+                // Restricts this shared network to allow only clients
+                // that belong to the particular client class. If an
+                // empty string is provided, no restriction is applied.
+                "client-class": "",
+
+                // Specifies that this shared network is selected for the
+                // requests received on the particular interface.
+                "interface": "ethX",
+
+                // Specifies the content of the interface-id option used
+                // by relays to identify the interface on the relay to
+                // which the response is sent.
+                "interface-id": "",
+
+                // Shared network name.
+                "name": "my-secret-network",
+
+                // List of shared network specific DHCP options.
+                "option-data": [],
+
+                // Shared network specific preferred lifetime.
+                "preferred-lifetime": 2000,
+
+                // Boolen flag indicating if the server can respond to
+                // a Solicit message including a Rapid Commit option with
+                // the Reply message (See DHCPv6 rapid commit).
+                "rapid-commit": false,
+
+                // List of IPv6 relay addresses for which this shared
+                // network is selected.
+                "relay": {
+                    "ip-addresses": []
+                },
+
+                // Shared network level rebind timer.
+                "rebind-timer": 41,
+
+                // Shared network level renew timer.
+                "renew-timer": 31,
+
+                // Enumeration specifying server's mode of operation when it
+                // fetches host reservations.
+                "reservation-mode": "all",
+
+                // List of client classes which must be evaluated when this shared
+                // network is selected for client assignments.
+                "require-client-classes": [ "late" ],
+
+                // List of IPv6 subnets belonging to this shared network.
+                "subnet6": [
+                    {
+                        // Restricts this subnet to allow only clients that belong
+                        // to the particular client class. If an empty string is
+                        // provided, no restriction is applied.
+                        "client-class": "",
+
+                        // Subnet unique identifier.
+                        "id": 1,
+
+                        // Specifies that this subnet is selected for the requests
+                        // received on the particular interface.
+                        "interface": "ethX",
+
+                        // Specifies the content of the interface-id option used
+                        // by relays to identify the interface on the relay to
+                        // which the response is sent.
+                        "interface-id": "",
+
+                        // Subnet level list of DHCP options.
+                        "option-data": [
+                            {
+                                // Boolean flag indicating if the particular option
+                                // should be always sent or sent only when requested.
+                                "always-send": false,
+
+                                // Option code.
+                                "code": 7,
+
+                                // Boolean flag indicating if the option value specified
+                                // in "data" is a string of hexadecimal values or human
+                                // readable CSV value.
+                                "csv-format": false,
+
+                                // Option data to be included in the option payload.
+                                "data": "0xf0",
+
+                                // Option name.
+                                "name": "preference",
+
+                                // Option space. The default value "dhcp6" designates the
+                                // top level option space.
+                                "space": "dhcp6"
+                            }
+                        ],
+
+                        // List of pools from which delegated prefixes are assigned to the
+                        // clients.
+                        "pd-pools": [
+                            {
+                                "client-class": "phones_server1",
+                                "delegated-len": 64,
+                                "excluded-prefix": "2001:db8::",
+                                "excluded-prefix-len": 48,
+                                "option-data": [],
+                                "prefix": "2001:db8::",
+                                "prefix-len": 40,
+                                "require-client-classes": []
+                            }
+                        ],
+
+                        "pools": [
+                            {
+                                // Restricts this pool to be only used for the client
+                                // requests belonging to a particular client class.
+                                "client-class": "phones_server1",
+
+                                // Pool level list of DHCP options.
+                                "option-data": [],
+
+                                // Address range used for client assignments.
+                                "pool": "2001:db8:0:1::/64",
+
+                                // List of client classes which must be evaluated when this pool
+                                // is selected for client assignments.
+                                "require-client-classes": [ "late" ]
+                            },
+                            {
+                                // Restricts this pool to be only used for the client
+                                // requests belonging to a particular client class.
+                                "client-class": "phones_server2",
+
+                                // Pool level list of DHCP options.
+                                "option-data": [],
+
+                                // Address range used for client assignments.
+                                "pool": "2001:db8:0:3::/64",
+
+                                // List of client classes which must be evaluated when this pool
+                                // is selected for client assignments.
+                                "require-client-classes": []
+                            }
+                        ],
+
+                        // Subnet specific preferred lifetime.
+                        "preferred-lifetime": 2000,
+
+                        // Boolen flag indicating if the server can respond to
+                        // a Solicit message including a Rapid Commit option with
+                        // the Reply message (See DHCPv6 rapid commit).
+                        "rapid-commit": false,
+
+                        // Subnet level rebind timer.
+                        "rebind-timer": 40,
+
+                        // List of IPv4 relay addresses for which this subnet
+                        // is selected.
+                        "relay": {
+                            "ip-addresses": [
+                                "2001:db8:0:f::1"
+                            ]
+                        },
+
+                        // Subnet level renew timer.
+                        "renew-timer": 30,
+
+                        // Enumeration specifying server's mode of operation when it
+                        // fetches host reservations.
+                        "reservation-mode": "all",
+
+                        // List of static IPv6 reservations assigned to the clients belonging
+                        // to this subnet. For detailed example see reservations.json.
+                        "reservations": [
+                            {
+                                // Identifier used for client matching. Supported values are
+                                // "duid", "hw-address" and "flex-id".
+                                "duid": "01:02:03:04:05:06:07:08:09:0A",
+
+                                // List of reserved IPv6 addresses.
+                                "ip-addresses": [ "2001:db8:1:cafe::1" ],
+
+                                // List of reserved IPv6 prefixes.
+                                "prefixes": [ "2001:db8:2:abcd::/64" ],
+
+                                // Reserved hostname.
+                                "hostname": "foo.example.com",
+
+                                // Reservation specific option data.
+                                "option-data": [
+                                    {
+                                        // Option name.
+                                        "name": "vendor-opts",
+
+                                        // Option value.
+                                        "data": "4491"
+                                    }
+                                ]
+                            }
+                        ],
+
+                        // List of client classes which must be evaluated when this subnet
+                        // is selected for client assignments.
+                        "require-client-classes": [ "late" ],
+
+                        // Subnet prefix.
+                        "subnet": "2001:db8::/32",
+
+                        // Subnet level valid lifetime.
+                        "valid-lifetime": 6000
+                    }
+                ],
+
+                // Shared network level valid lifetime.
+                "valid-lifetime": 6001
+            }
+        ],
+
+        // List of IPv6 subnets which don't belong to any shared network.
+        "subnet6": [],
+
+        // Global valid lifetime value.
+        "valid-lifetime": 6000,
+
+        // Reservations (examples are in other files).
+        "reservations": [],
+
+        // Configuration control (currently not used, i.e. this syntax
+        // is already defined but corresponding feature is not implemented).
+        "config-control":
+        {
+            // Only configuration databases entry is defined.
+            "config-databases": [
+                {
+                    // Name of the database to connect to.
+                    "name": "config",
+
+                    // Type of the database, e.g. "mysql", "pgsql", "cql".
+                    "type": "mysql"
+                }
+            ]
+        },
+
+        // Server tag.
+        "server-tag": "my DHCPv6 server",
+
+        // DHCP queue control parameters.
+        "dhcp-queue-control":
+        {
+            // Enable queue is mandatory.
+            "enable-queue": true,
+
+            // Queue type was mandatory.
+            "queue-type": "kea-ring6"
+        },
+
+        // Fetches host reservations.
+        "reservation-mode": "all",
+
+        // Data directory.
+        "data-directory": "/tmp"
+    },
+
+    // Logging configuration begins here.
+    "Logging": {
+
+        // List of loggers used by the servers using this configuration file.
+        "loggers": [
+            {
+                // Debug level, a value between 0..99. The greater the value
+                // the more detailed debug log.
+                "debuglevel": 99,
+
+                // Name of the logger.
+                "name": "kea-dhcp6",
+
+                // Configures how the log should be output.
+                "output_options": [
+                    {
+                        // Determines whether the log should flushed to a file.
+                        "flush": true,
+
+                        // Specifies maximum filesize before the file is being rotated.
+                        "maxsize": 10240000,
+
+                        // Specifies the maximum number of rotated files being kept.
+                        "maxver": 1,
+
+                        // Specifies logging destination.
+                        "output": "stdout"
+                    }
+                ],
+
+                // Specifies logging severity, i.e. "ERROR", "WARN", "INFO", "DEBUG".
+                "severity": "INFO"
+            }
+        ]
+    }
+}
similarity index 99%
rename from doc/examples/kea6/all-keys.json
rename to doc/examples/kea6/all-keys-stable.json
index 0d5c312f7025e652a432a0f63b34c9722511eb8a..8f54bbdf325006daa49876482eb110e1d7d656c3 100644 (file)
@@ -5,6 +5,9 @@
 // The primary purpose of the example file is to provide a comprehensive
 // list of parameters supported by Kea DHCPv6 server along with the brief
 // description of each parameter.
+//
+// This stable version is used for YANG as we do not want to update code
+// and models each time a keyword is added to the syntax.
 {
     // Kea DHCPv6 server configuration begins here.
     "Dhcp6": {
             // Queue type was mandatory.
             "queue-type": "kea-ring6"
         }
-       // missing data-directory
     },
 
     // Logging configuration begins here.
index 61ff0b11736e92521a1187ad17995dadc4c8096c..b7c31330274358911440ffd46817024351ad46e1 100644 (file)
@@ -264,7 +264,7 @@ void testFile(const std::string& fname) {
 // the second time with Parser4. Both JSON trees are then compared.
 TEST(ParserTest, file) {
     vector<string> configs = { "advanced.json" ,
-                               "all-keys.json",
+                               "all-keys-current.json",
                                "backends.json",
                                "cassandra.json",
                                "classify.json",
index 84ab706ec466beec8d2e5ec2c6e04aafef1fa744..0ce3c96e326f1ec958e462e22d33330051d753d4 100644 (file)
@@ -270,7 +270,7 @@ void testFile(const std::string& fname) {
 TEST(ParserTest, file) {
     vector<string> configs;
     configs.push_back("advanced.json");
-    configs.push_back("all-keys.json");
+    configs.push_back("all-keys-current.json");
     configs.push_back("backends.json");
     configs.push_back("cassandra.json");
     configs.push_back("classify.json");
index 91a31daef29fe92c7da8f11088b5570960721fbe..742d822bd9a7d37139b278c8aebcf55810cd1747 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2018-2019 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -62,7 +62,7 @@ void testFile(const std::string& fname, bool v6, ElementPtr& result) {
 
 TEST_F(AdaptorConfigTest, loadExamples4) {
     vector<string> configs = { "advanced.json",
-                               "all-keys.json",
+                               "all-keys-stable.json",
                                "backends.json",
                                "cassandra.json",
                                "classify.json",
@@ -92,7 +92,7 @@ TEST_F(AdaptorConfigTest, loadExamples4) {
 
 TEST_F(AdaptorConfigTest, loadExamples6) {
     vector<string> configs = { "advanced.json",
-                               "all-keys.json",
+                               "all-keys-stable.json",
                                "backends.json",
                                "cassandra.json",
                                "classify.json",
index dfde222c93d1c802ad5cfce2b1c5fb8fa56d69d9..e15bc0429cdaf264879ad7fd8fef17af016bb80f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2018-2019 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -328,7 +328,7 @@ TEST_F(ConfigTest, examples4) {
 
     vector<string> examples = {
         "advanced.json",
-        "all-keys.json",
+        "all-keys-stable.json",
         "backends.json",
         "cassandra.json",
         "classify.json",
@@ -366,7 +366,7 @@ TEST_F(ConfigTest, examples6) {
 
     vector<string> examples = {
         "advanced.json",
-        "all-keys.json",
+        "all-keys-stable.json",
         "backends.json",
         "cassandra.json",
         "classify.json",