]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[65-libyang-simplify-update-models] Added global reservation-mode
authorFrancis Dupont <fdupont@isc.org>
Tue, 20 Nov 2018 17:09:00 +0000 (18:09 +0100)
committerFrancis Dupont <fdupont@isc.org>
Thu, 22 Nov 2018 22:13:47 +0000 (17:13 -0500)
src/lib/yang/models/kea-ctrl-agent.yang
src/lib/yang/models/kea-dhcp-ddns.yang
src/lib/yang/models/kea-dhcp-types.yang
src/lib/yang/models/kea-dhcp4-server.yang
src/lib/yang/models/kea-dhcp6-server.yang
src/lib/yang/models/kea-logging.yang
src/lib/yang/models/kea-types.yang
src/lib/yang/translator_config.cc
src/lib/yang/translator_config.h

index 970c662eca2a538d42cb65751eeba0d17eedca13..a51e6bb75c64a3b2f57bbb207d04072f28d1b6da 100644 (file)
@@ -8,11 +8,11 @@ module kea-ctrl-agent {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-09-14;
+    revision-date 2018-11-20;
   }
   import kea-logging {
     prefix logging;
-    revision-date 2018-11-16;
+    revision-date 2018-11-20;
   }
 
   organization "Internet Systems Consortium";
@@ -20,7 +20,7 @@ module kea-ctrl-agent {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea control agent.";
 
-  revision 2018-11-19 {
+  revision 2018-11-20 {
     description "Initial revision";
     reference "";
   }
index 52ae42833ad7444d28b3a91f27efe65c9af34568..3e92fc5b7fd41fe18df9e8fb43b02343b0fd0f54 100644 (file)
@@ -8,11 +8,11 @@ module kea-dhcp-ddns {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-09-14;
+    revision-date 2018-11-20;
   }
   import kea-logging {
     prefix logging;
-    revision-date 2018-11-16;
+    revision-date 2018-11-20;
   }
 
   organization "Internet Systems Consortium";
@@ -20,7 +20,7 @@ module kea-dhcp-ddns {
   description "This model defines a YANG data model that can be
     used to configure and manage a Kea DHCP-DDNS server.";
 
-  revision 2018-11-19 {
+  revision 2018-11-20 {
     description "Initial revision";
     reference "";
   }
index 551eb788ccb044e5ed640e94a2fb2038ada50ed5..2bfc96f8e8e3d13f16c749e4cc35bf2ae7244de8 100644 (file)
@@ -8,14 +8,14 @@ module kea-dhcp-types {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-09-14;
+    revision-date 2018-11-20;
   }
 
   organization "Internet Systems Consortium";
   contact "kea-dev@lists.isc.org";
   description "This file defines some commonly used Kea DHCP types and
                groupings.";
-  revision 2018-11-18 {
+  revision 2018-11-20 {
     description "Initial revision";
     reference "";
   }
@@ -522,24 +522,6 @@ module kea-dhcp-types {
     }
   }
 
-  grouping subnet-reservation-mode {
-    description "Reservation mode grouping for a subnet.";
-    uses reservation-mode {
-      refine reservation-mode {
-        description "Subnet host reservation mode.";
-      }
-    }
-  }
-
-  grouping network-reservation-mode {
-    description "Reservation mode grouping for a shared network.";
-    uses reservation-mode {
-      refine reservation-mode {
-        description "Shared network host reservation mode.";
-      }
-    }
-  }
-
   grouping interfaces-re-detect {
     description "Interfaces re-detect grouping.";
     leaf re-detect {
index 04a5e4126cfa59b9039093dc2e5619d65920b1ab..fae5328750ea2036dcb8119b10d0c1c0de44a596 100644 (file)
@@ -8,15 +8,15 @@ module kea-dhcp4-server {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-09-14;
+    revision-date 2018-11-20;
   }
   import kea-dhcp-types {
     prefix dhcp;
-    revision-date 2018-11-18;
+    revision-date 2018-11-20;
   }
   import kea-logging {
     prefix logging;
-    revision-date 2018-11-16;
+    revision-date 2018-11-20;
   }
 
   organization "Internet Systems Consortium";
@@ -24,7 +24,7 @@ module kea-dhcp4-server {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea DHCPv4 server.";
 
-  revision 2018-11-19 {
+  revision 2018-11-20 {
     description "Initial revision";
     reference "";
   }
@@ -185,7 +185,7 @@ module kea-dhcp4-server {
           description "Subnet host reservations list.";
         }
       }
-      uses dhcp:subnet-reservation-mode;
+      uses dhcp:reservation-mode;
       container relay {
         description "Optional information about relay agent.";
         uses relay;
@@ -308,7 +308,7 @@ module kea-dhcp4-server {
         uses relay;
       }
       uses authoritative;
-      uses dhcp:network-reservation-mode;
+      uses dhcp:reservation-mode;
       uses dhcp:network-client-class;
       uses dhcp:network-require-client-classes;
       uses dhcp:valid-lifetime;
@@ -384,6 +384,7 @@ module kea-dhcp4-server {
       }
     }
     uses dhcp:sanity-checks;
+    uses dhcp:reservation-mode;
     uses reservations {
       refine host {
         description "Global host reservations list.";
index 5c8d3ae2cf6d9ad451e924272250f22af3b48151..069ef29f48715e560ba3b56864e9c85b1df31551 100644 (file)
@@ -8,15 +8,15 @@ module kea-dhcp6-server {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-09-14;
+    revision-date 2018-11-20;
   }
   import kea-dhcp-types {
     prefix dhcp;
-    revision-date 2018-11-18;
+    revision-date 2018-11-20;
   }
   import kea-logging {
     prefix logging;
-    revision-date 2018-11-16;
+    revision-date 2018-11-20;
   }
 
   organization "Internet Systems Consortium";
@@ -24,7 +24,7 @@ module kea-dhcp6-server {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea DHCPv6 server.";
 
-  revision 2018-11-19 {
+  revision 2018-11-20 {
     description "Initial revision";
     reference "";
   }
@@ -209,7 +209,7 @@ module kea-dhcp6-server {
           description "Subnet host reservations list.";
         }
       }
-      uses dhcp:subnet-reservation-mode;
+      uses dhcp:reservation-mode;
       container relay {
         description "Optional information about relay agent.";
         uses relay;
@@ -312,7 +312,7 @@ module kea-dhcp6-server {
         description "Optional information about relay agent.";
         uses relay;
       }
-      uses dhcp:network-reservation-mode;
+      uses dhcp:reservation-mode;
       uses dhcp:network-client-class;
       uses dhcp:require-client-classes;
       uses preferred-lifetime;
@@ -412,6 +412,7 @@ module kea-dhcp6-server {
       }
     }
     uses dhcp:sanity-checks;
+    uses dhcp:reservation-mode;
     uses reservations {
       refine host {
         description "Global host reservations list.";
index 8e3583c07fb87cb8daff770ea91c0e9d6d6fdb74..31dd1951761f7e796a297e473a8d8d0cc990f2be 100644 (file)
@@ -5,7 +5,7 @@ module kea-logging {
 
   import kea-types {
     prefix kea;
-    revision-date 2018-09-14;
+    revision-date 2018-11-20;
   }
 
   organization "Internet Systems Consortium";
@@ -13,7 +13,7 @@ module kea-logging {
   description "This model defines a YANG data model that can be
     used to configure and manage logging of a Kea server.";
 
-  revision 2018-11-16 {
+  revision 2018-11-20 {
     description "Initial revision";
     reference "";
   }
index 2346634ff4a50e4982e84ce07885e45b42a4f342..6ac07485a5a5ad264e430424e38f3583419f81ae 100644 (file)
@@ -7,7 +7,7 @@ module kea-types {
   contact "kea-dev@lists.isc.org";
   description "This file defines some commonly used Kea types and groupings.";
 
-  revision 2018-09-14 {
+  revision 2018-11-20 {
     description "Initial revision";
     reference "";
   }
index 128973f5adfebca74e856218277f53a22b64616c..8f183548a637e9df01aef50d1d4466a765b4e099 100644 (file)
@@ -87,11 +87,11 @@ TranslatorConfig::getConfigKea4() {
     result->set("Dhcp4", dhcp);
     ConstElementPtr loggers = dhcp->get("loggers");
     if (loggers) {
-       dhcp->remove("loggers");
+        dhcp->remove("loggers");
 
-       ElementPtr logging = Element::createMap();
-       logging->set("loggers", loggers);
-       result->set("Logging", logging);
+        ElementPtr logging = Element::createMap();
+        logging->set("loggers", loggers);
+        result->set("Logging", logging);
     }
     return (result);
 }
@@ -103,11 +103,11 @@ TranslatorConfig::getConfigKea6() {
     result->set("Dhcp6", dhcp);
     ConstElementPtr loggers = dhcp->get("loggers");
     if (loggers) {
-       dhcp->remove("loggers");
+        dhcp->remove("loggers");
 
-       ElementPtr logging = Element::createMap();
-       logging->set("loggers", loggers);
-       result->set("Logging", logging);
+        ElementPtr logging = Element::createMap();
+        logging->set("loggers", loggers);
+        result->set("Logging", logging);
     }
     return (result);
 }
@@ -286,6 +286,7 @@ TranslatorConfig::getServerKeaDhcpCommon(const string& xpath) {
         sanity->set("lease-checks", checks);
         result->set("sanity-checks", sanity);
     }
+    getParam(result, xpath, "reservation-mode");
     ConstElementPtr hosts = getHosts(xpath);
     if (hosts && !hosts->empty()) {
         result->set("reservations", hosts);
@@ -692,6 +693,10 @@ TranslatorConfig::setServerKeaDhcpCommon(const string& xpath,
             setItem(xpath + "/sanity-checks/lease-checks", checks, SR_ENUM_T);
         }
     }
+    ConstElementPtr hr_mode = elem->get("reservation-mode");
+    if (hr_mode) {
+        setItem(xpath + "/reservation-mode", hr_mode, SR_ENUM_T);
+    }
     ConstElementPtr hosts = elem->get("reservations");
     if (hosts && !hosts->empty()) {
         setHosts(xpath, hosts);
index 947c278346c7cb765aef44cd0d6d630804df4754..faaca35bbe1d69c37c41d434b782c6757ccc6a58 100644 (file)
@@ -55,6 +55,7 @@ namespace yang {
 ///     <user-context>,
 ///     <comment>,
 ///     "sanity-checks": { <sanity checks> },
+///     "reservation-mode": <host reservation mode>,
 ///     "reservations": [ <list of host reservations> ],
 ///     <config-control>,
 ///     "server-tag": <server tag>,
@@ -99,6 +100,7 @@ namespace yang {
 /// +--rw user-context?                  string
 /// +--rw sanity-checks
 ///    +--rw lease-checks?               enumeration
+/// +--rw reservation-mode?              enumeration
 /// +--rw host*
 /// +--rw config-control
 ///    +--rw config-database*
@@ -189,6 +191,7 @@ namespace yang {
 ///     <user-context>,
 ///     <comment>
 ///     "sanity-checks": { <sanity checks> },
+///     "reservation-mode": <host reservation mode>,
 ///     "reservations": [ <list of host reservations> ],
 ///     <config-control>,
 ///     "server-tag": <server tag>,
@@ -230,6 +233,7 @@ namespace yang {
 /// +--rw user-context?                  string
 /// +--rw sanity-checks
 ///    +--rw lease-checks?               enumeration
+/// +--rw reservation-mode?              enumeration
 /// +--rw host*
 /// +--rw config-control
 ///    +--rw config-database*