From: Marcin Siodelski Date: Mon, 24 Jun 2019 15:44:55 +0000 (+0200) Subject: [#689] Updated Kea ARM to include error code/message for bulk lease updates. X-Git-Tag: Kea-1.6.0-beta2~218 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ca01ae0f28a77da251c8d1d1681755d8649cef2;p=thirdparty%2Fkea.git [#689] Updated Kea ARM to include error code/message for bulk lease updates. --- diff --git a/doc/api/lease6-bulk-apply.json b/doc/api/lease6-bulk-apply.json index aff923b53f..d132b9758f 100644 --- a/doc/api/lease6-bulk-apply.json +++ b/doc/api/lease6-bulk-apply.json @@ -9,13 +9,11 @@ \"arguments\": { \"deleted-leases\": [ { - \"subnet-id\": 66, \"ip-address\": \"2001:db8:abcd::\", \"type\": \"IA_PD\", ... }, { - \"subnet-id\": 66, \"ip-address\": \"2001:db8:abcd::234\", \"type\": \"IA_NA\", ... @@ -45,21 +43,22 @@ \"arguments\": { \"failed-deleted-leases\": [ { - \"subnet-id\": 66, \"ip-address\": \"2001:db8:abcd::\", - \"type\": \"IA_PD\" + \"type\": \"IA_PD\", + \"result\": , + \"error-message\": } ], \"failed-leases\": [ { - \"subnet-id\": 66, \"ip-address\": \"2001:db8:cafe::\", \"type\": \"IA_PD\", - ... + \"result\" , + \"error-message\": } ] } } }", - "resp-comment": "The \"failed-deleted-leases\" holds the list of leases which failed to delete. This includes leases which were not found in the database. The \"failed-leases\" includes the list of leases which failed to create or update." + "resp-comment": "The \"failed-deleted-leases\" holds the list of leases which failed to delete. This includes leases which were not found in the database. The \"failed-leases\" includes the list of leases which failed to create or update. For each lease for which there was an error while processing the lease, inserting it into the database etc. the result is set to 1. For each lease which was not deleted because the server didn't find it in the database the result of 3 is returned." } diff --git a/doc/guide/api.xml b/doc/guide/api.xml index b899b09b6f..e280e88ccb 100644 --- a/doc/guide/api.xml +++ b/doc/guide/api.xml @@ -1700,13 +1700,11 @@ Result is an integer representation of the status. Currently supported statuses "arguments": { "deleted-leases": [ { - "subnet-id": 66, "ip-address": "2001:db8:abcd::", "type": "IA_PD", ... }, { - "subnet-id": 66, "ip-address": "2001:db8:abcd::234", "type": "IA_NA", ... @@ -1738,23 +1736,24 @@ If any of the leases is malformed, all changes are rolled back. If the leases ar "arguments": { "failed-deleted-leases": [ { - "subnet-id": 66, "ip-address": "2001:db8:abcd::", - "type": "IA_PD" + "type": "IA_PD", + "result": <control result>, + "error-message": <error message> } ], "failed-leases": [ { - "subnet-id": 66, "ip-address": "2001:db8:cafe::", "type": "IA_PD", - ... + "result" <control result>, + "error-message": <error message> } ] } } } -The "failed-deleted-leases" holds the list of leases which failed to delete. This includes leases which were not found in the database. The "failed-leases" includes the list of leases which failed to create or update. +The "failed-deleted-leases" holds the list of leases which failed to delete. This includes leases which were not found in the database. The "failed-leases" includes the list of leases which failed to create or update. For each lease for which there was an error while processing the lease, inserting it into the database etc. the result is set to 1. For each lease which was not deleted because the server didn't find it in the database the result of 3 is returned. diff --git a/doc/guide/hooks-lease-cmds.xml b/doc/guide/hooks-lease-cmds.xml index fbad82e81b..1b46cf22d7 100644 --- a/doc/guide/hooks-lease-cmds.xml +++ b/doc/guide/hooks-lease-cmds.xml @@ -321,16 +321,12 @@ The commands can take a number of additional optional parameters: "arguments": { "deleted-leases": [ { - "subnet-id": 66, "ip-address": "2001:db8:abcd::", "type": "IA_PD", - ... }, { - "subnet-id": 66, "ip-address": "2001:db8:abcd::234", "type": "IA_NA", - ... } ], "leases": [ @@ -368,17 +364,18 @@ The commands can take a number of additional optional parameters: "arguments": { "failed-deleted-leases": [ { - "subnet-id": 66, "ip-address": "2001:db8:abcd::", - "type": "IA_PD" + "type": "IA_PD", + "result": 3, + "error-message": "no lease found" } ], "failed-leases": [ { - "subnet-id": 66, "ip-address": "2001:db8:cafe::", "type": "IA_PD", - ... + "result": 1, + "error-message": "unable to communicate with the lease database" } ] } @@ -388,7 +385,14 @@ The commands can take a number of additional optional parameters: The response above indicates that the hooks library was unable to delete the lease for prefix "2001:db8:abcd::" and add or update the lease for prefix "2001:db8:cafe::". However, there are two other lease changes - which have been applied as indicated by the text message. + which have been applied as indicated by the text message. The + result is the status constant that indicates the type + of the error experienced for the particular lease. The meaning of the + returned codes are the same as the results returned for the commands. + In particular, the result of 1 indicates an error while processing the + lease, e.g. a communication error with the database. The result of 3 + indicates that an attempt to delete the lease was unsuccessful because + such lease doesn't exist (empty result).