Browse Source

[github21] Minor corrections.

# Conflicts:
#	doc/examples/kea4/backends.json
Tomek Mrugalski 9 years ago
parent
commit
b16a967e94
4 changed files with 230 additions and 1 deletions
  1. 2 0
      COPYING
  2. 6 1
      ChangeLog
  3. 112 0
      doc/examples/kea4/backends.json
  4. 110 0
      doc/examples/kea6/backends.json

+ 2 - 0
COPYING

@@ -10,4 +10,6 @@ The ext/coroutine code is externally maintained and distributed under
 the Boost Software License, Version 1.0.  (See its accompanying file
 LICENSE_1_0.txt.)
 
+-----------------------------------------------------------------------------
+
 The Cassandra backend code is distributed under the Apache License, Version 2.0.

+ 6 - 1
ChangeLog

@@ -1,5 +1,10 @@
+1133.	[func]		razvan
+	The initial support for CQL (Cassandra) backend added. It is able
+	to store leases information.
+	(Github #21, git tbd)
+
 1132.	[func]		tmark
-	The Postgresql schema has been updated to support host reservations and its 
+	The Postgresql schema has been updated to support host reservations and its
 	version number has been bumped to 3.0.  This schema is content equivlent to
 	the MySQL schema version 4.2.
 	(Trac #4275, git 6f8e646bee9de22c921ed26409f3d1856ebce9e6)

+ 112 - 0
doc/examples/kea4/backends.json

@@ -0,0 +1,112 @@
+# This is an example configuration file for the DHCPv4 server in Kea.
+# It is a basic scenario with one IPv4 subnet configured. It demnstrates
+# how to configure Kea to use various backends to store leases:
+# - memfile
+# - MySQL
+# - PostgreSQL
+# - CQL (Cassandra) backend
+
+{ "Dhcp4":
+
+{
+# Kea is told to listen on ethX interface only.
+  "interfaces-config": {
+    "interfaces": [ "ethX" ]
+  },
+
+# We need to specify lease type. Exactly one lease-database section
+# should be present. Make sure you uncomment only one.
+
+# 1. memfile backend. Leases information will be stored in flat CSV file.
+# This is the easiest backend to use as it does not require any extra
+# dependencies or services running.
+#  "lease-database": {
+#      "type": "memfile"
+#  },
+
+# 2. MySQL backend. Leases will be stored in MySQL database. Make sure it
+# is up, running and properly initialized. See kea-admin documentation
+# for details on how to intialize the database. The only strictly required
+# parameters are type and name. If other parameters are not specified,
+# Kea will assume the database is avaiable on localhost, that user and
+# password is not necessary to connect and that timeout is 5 seconds.
+# Kea must be compiled with --with-dhcp-mysql option to use this backend.
+#  "lease-database": {
+#      "type": "mysql",
+#      "name": "keatest",
+#      "host": "localhost",
+#      "user": "keatest",
+#      "password": "secret1",
+#      "connect-timeout": 3
+#  },
+
+# 3. PostgreSQL backend. Leases will be stored in PostgreSQL database. Make
+# sure it is up, running and properly initialized. See kea-admin documentation
+# for details on how to intialize the database. The only strictly required
+# parameters are type and name. If other parameters are not specified,
+# Kea will assume the database is avaiable on localhost, that user and
+# password is not necessary to connect and that timeout is 5 seconds.
+# Kea must be compiled with --with-dhcp-pgsql option to use this backend.
+#  "lease-database": {
+#      "type": "pgsql",
+#      "name": "keatest",
+#      "host": "localhost",
+#      "user": "keatest",
+#      "password": "secret1"
+#  },
+
+# 4. CQL (Cassandra) backend. Leases will be stored in Cassandra database. Make
+# sure it is up, running and properly initialized. See kea-admin documentation
+# for details on how to intialize the database. The only strictly required
+# parameters are type, keyspace and contact_points. At least one contact point
+# must be specified, but more than one is required for redundancy. Make sure
+# you specify the contact points without spaces. Kea must be compiled with
+# --with-cql option to use this backend.
+#  "lease-database": {
+#      "type": "cql",
+#      "keyspace": "keatest",
+#      "contact_points": "192.0.2.1,192.0.2.2,192.0.2.3"
+#  },
+
+# Addresses will be assigned with valid lifetimes being 4000. Client
+# is told to start renewing after 1000 seconds. If the server does not respond
+# after 2000 seconds since the lease was granted, client is supposed
+# to start REBIND procedure (emergency renewal that allows switching
+# to a different server).
+  "valid-lifetime": 4000,
+
+# Renew and rebind timers are commented out. This implies that options
+# 58 and 59 will not be sent to the client. In this case it is up to
+# the client to pick the timer values according to RFC2131. Uncomment the
+# timers to send these options to the client.
+#  "renew-timer": 1000,
+#  "rebind-timer": 2000,
+
+# The following list defines subnets. We have only one subnet
+# here. We tell Kea that it is directly available over local interface.
+  "subnet4": [
+    {
+       "pools": [ { "pool":  "192.0.2.1 - 192.0.2.200" } ],
+       "subnet": "192.0.2.0/24",
+       "interface": "ethX"
+    }
+  ]
+},
+
+# The following configures logging. It assumes that messages with at least
+# informational level (info, warn, error) will will be logged to stdout.
+"Logging": {
+    "loggers": [
+        {
+            "name": "kea-dhcp4",
+            "output_options": [
+                {
+                    "output": "stdout"
+                }
+            ],
+            "severity": "INFO"
+        }
+    ]
+}
+
+}

+ 110 - 0
doc/examples/kea6/backends.json

@@ -0,0 +1,110 @@
+# This is an example configuration file for the DHCPv6 server in Kea.
+# It is a basic scenario with one IPv6 subnet configured. It demnstrates
+# how to configure Kea to use various backends to store leases:
+# - memfile
+# - MySQL
+# - PostgreSQL
+# - CQL (Cassandra) backend
+
+{ "Dhcp6":
+
+{
+# Kea is told to listen on ethX interface only.
+  "interfaces-config": {
+    "interfaces": [ "ethX" ]
+  },
+
+# We need to specify lease type. Exactly one lease-database section
+# should be present. Make sure you uncomment only one.
+
+# 1. memfile backend. Leases information will be stored in flat CSV file.
+# This is the easiest backend to use as it does not require any extra
+# dependencies or services running.
+  "lease-database": {
+      "type": "memfile"
+  },
+
+# 2. MySQL backend. Leases will be stored in MySQL database. Make sure it
+# is up, running and properly initialized. See kea-admin documentation
+# for details on how to intialize the database. The only strictly required
+# parameters are type and name. If other parameters are not specified,
+# Kea will assume the database is avaiable on localhost, that user and
+# password is not necessary to connect and that timeout is 5 seconds.
+# Kea must be compiled with --with-dhcp-mysql option to use this backend.
+#  "lease-database": {
+#      "type": "mysql",
+#      "name": "keatest",
+#      "host": "localhost",
+#      "user": "keatest",
+#      "password": "secret1",
+#      "connect-timeout": 3
+#  },
+
+# 3. PostgreSQL backend. Leases will be stored in PostgreSQL database. Make
+# sure it is up, running and properly initialized. See kea-admin documentation
+# for details on how to intialize the database. The only strictly required
+# parameters are type and name. If other parameters are not specified,
+# Kea will assume the database is avaiable on localhost, that user and
+# password is not necessary to connect and that timeout is 5 seconds.
+# Kea must be compiled with --with-dhcp-pgsql option to use this backend.
+#  "lease-database": {
+#      "type": "pgsql",
+#      "name": "keatest",
+#      "host": "localhost",
+#      "user": "keatest",
+#      "password": "secret1"
+#  },
+
+# 4. CQL (Cassandra) backend. Leases will be stored in Cassandra database. Make
+# sure it is up, running and properly initialized. See kea-admin documentation
+# for details on how to intialize the database. The only strictly required
+# parameters are type, keyspace and contact_points. At least one contact point
+# must be specified, but more than one is required for redundancy. Make sure
+# you specify the contact points without spaces. Kea must be compiled with
+# --with-cql option to use this backend.
+#  "lease-database": {
+#      "type": "cql",
+#      "keyspace": "keatest",
+#      "contact_points": "192.0.2.1,192.0.2.2,192.0.2.3"
+#  },
+
+# Addresses will be assigned with preferred and valid lifetimes
+# being 3000 and 4000, respectively. Client is told to start
+# renewing after 1000 seconds. If the server does not respond
+# after 2000 seconds since the lease was granted, client is supposed
+# to start REBIND procedure (emergency renewal that allows switching
+# to a different server).
+  "preferred-lifetime": 3000,
+  "valid-lifetime": 4000,
+  "renew-timer": 1000,
+  "rebind-timer": 2000,
+
+# The following list defines subnets. Each subnet consists of at
+# least subnet and pool entries.
+  "subnet6": [
+    {
+      "pools": [ { "pool": "2001:db8:1::/80" } ],
+      "subnet": "2001:db8:1::/64",
+      "interface": "ethX"
+    }
+  ]
+},
+
+# The following configures logging. Kea will log all debug messages
+# to /var/log/kea-debug.log file.
+"Logging": {
+    "loggers": [
+        {
+            "name": "kea-dhcp6",
+            "output_options": [
+                {
+                    "output": "/var/log/kea-debug.log"
+                }
+            ],
+            "debuglevel": 0,
+            "severity": "INFO"
+        }
+    ]
+}
+
+}