Browse Source

[3978] Cleaned up code

Francis Dupont 9 years ago
parent
commit
448015b06a

+ 2 - 0
src/bin/dhcp4/ctrl_dhcp4_srv.cc

@@ -106,6 +106,8 @@ ControlledDhcpv4Srv::processCommand(const string& command,
         } else if (command == "config-reload") {
         } else if (command == "config-reload") {
             return (srv->commandConfigReloadHandler(command, args));
             return (srv->commandConfigReloadHandler(command, args));
 
 
+        } else if (command == "leases-reclaim") {
+            return (srv->commandLeasesReclaimHandler(command, args));
         }
         }
         ConstElementPtr answer = isc::config::createAnswer(1,
         ConstElementPtr answer = isc::config::createAnswer(1,
                                  "Unrecognized command:" + command);
                                  "Unrecognized command:" + command);

+ 1 - 0
src/bin/dhcp4/ctrl_dhcp4_srv.h

@@ -70,6 +70,7 @@ public:
     /// - shutdown
     /// - shutdown
     /// - libreload
     /// - libreload
     /// - config-reload
     /// - config-reload
+    /// - leases-reclaim
     ///
     ///
     /// @note It never throws.
     /// @note It never throws.
     ///
     ///

+ 4 - 4
src/bin/dhcp4/kea_controller.cc

@@ -69,11 +69,11 @@ void configure(const std::string& file_name) {
         // works only for map.
         // works only for map.
         if (json->getType() != isc::data::Element::map) {
         if (json->getType() != isc::data::Element::map) {
             isc_throw(isc::BadValue, "Configuration file is expected to be "
             isc_throw(isc::BadValue, "Configuration file is expected to be "
-		      "a map, i.e., start with { and end with } and contain "
-		      "at least an entry called 'Dhcp4' that itself is a map. "
-		      << file_name
+                      "a map, i.e., start with { and end with } and contain "
+                      "at least an entry called 'Dhcp4' that itself is a map. "
+                      << file_name
                       << " is a valid JSON, but its top element is not a map."
                       << " is a valid JSON, but its top element is not a map."
-		      " Did you forget to add { } around your configuration?");
+                      " Did you forget to add { } around your configuration?");
         }
         }
 
 
         // If there's no logging element, we'll just pass NULL pointer,
         // If there's no logging element, we'll just pass NULL pointer,

+ 4 - 0
src/bin/dhcp4/tests/ctrl_dhcp4_srv_unittest.cc

@@ -22,6 +22,7 @@
 #include <dhcpsrv/lease.h>
 #include <dhcpsrv/lease.h>
 #include <dhcpsrv/lease_mgr_factory.h>
 #include <dhcpsrv/lease_mgr_factory.h>
 #include <hooks/hooks_manager.h>
 #include <hooks/hooks_manager.h>
+#include <stats/stats_mgr.h>
 #include <testutils/unix_control_client.h>
 #include <testutils/unix_control_client.h>
 
 
 #include "marker_file.h"
 #include "marker_file.h"
@@ -45,6 +46,7 @@ using namespace isc::data;
 using namespace isc::dhcp;
 using namespace isc::dhcp;
 using namespace isc::dhcp::test;
 using namespace isc::dhcp::test;
 using namespace isc::hooks;
 using namespace isc::hooks;
+using namespace isc::stats;
 
 
 namespace {
 namespace {
 
 
@@ -82,6 +84,8 @@ public:
 
 
     /// @brief Destructor
     /// @brief Destructor
     ~CtrlChannelDhcpv4SrvTest() {
     ~CtrlChannelDhcpv4SrvTest() {
+        LeaseMgrFactory::destroy();
+        StatsMgr::instance().removeAll();
         server_.reset();
         server_.reset();
         reset();
         reset();
     };
     };

+ 3 - 0
src/bin/dhcp6/ctrl_dhcp6_srv.cc

@@ -103,6 +103,9 @@ ControlledDhcpv6Srv::processCommand(const std::string& command,
 
 
         } else if (command == "config-reload") {
         } else if (command == "config-reload") {
             return (srv->commandConfigReloadHandler(command, args));
             return (srv->commandConfigReloadHandler(command, args));
+
+        } else if (command == "leases-reclaim") {
+            return (srv->commandLeasesReclaimHandler(command, args));
         }
         }
 
 
         return (isc::config::createAnswer(1, "Unrecognized command:"
         return (isc::config::createAnswer(1, "Unrecognized command:"

+ 1 - 0
src/bin/dhcp6/ctrl_dhcp6_srv.h

@@ -70,6 +70,7 @@ public:
     /// - shutdown
     /// - shutdown
     /// - libreload
     /// - libreload
     /// - config-reload
     /// - config-reload
+    /// - leases-reclaim
     ///
     ///
     /// @note It never throws.
     /// @note It never throws.
     ///
     ///

+ 4 - 4
src/bin/dhcp6/kea_controller.cc

@@ -73,11 +73,11 @@ void configure(const std::string& file_name) {
         // works only for map.
         // works only for map.
         if (json->getType() != isc::data::Element::map) {
         if (json->getType() != isc::data::Element::map) {
             isc_throw(isc::BadValue, "Configuration file is expected to be "
             isc_throw(isc::BadValue, "Configuration file is expected to be "
-		      "a map, i.e., start with { and end with } and contain "
-		      "at least an entry called 'Dhcp6' that itself is a map. "
-		      << file_name
+                      "a map, i.e., start with { and end with } and contain "
+                      "at least an entry called 'Dhcp6' that itself is a map. "
+                      << file_name
                       << " is a valid JSON, but its top element is not a map."
                       << " is a valid JSON, but its top element is not a map."
-		      " Did you forget to add { } around your configuration?");
+                      " Did you forget to add { } around your configuration?");
         }
         }
 
 
         // Let's configure logging before applying the configuration,
         // Let's configure logging before applying the configuration,

+ 35 - 32
src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc

@@ -22,6 +22,7 @@
 #include <dhcpsrv/lease_mgr_factory.h>
 #include <dhcpsrv/lease_mgr_factory.h>
 #include <dhcp6/ctrl_dhcp6_srv.h>
 #include <dhcp6/ctrl_dhcp6_srv.h>
 #include <hooks/hooks_manager.h>
 #include <hooks/hooks_manager.h>
+#include <stats/stats_mgr.h>
 #include <testutils/unix_control_client.h>
 #include <testutils/unix_control_client.h>
 
 
 #include "marker_file.h"
 #include "marker_file.h"
@@ -41,6 +42,7 @@ using namespace isc::data;
 using namespace isc::dhcp;
 using namespace isc::dhcp;
 using namespace isc::dhcp::test;
 using namespace isc::dhcp::test;
 using namespace isc::hooks;
 using namespace isc::hooks;
+using namespace isc::stats;
 
 
 namespace {
 namespace {
 
 
@@ -63,6 +65,8 @@ public:
     }
     }
 
 
     virtual ~CtrlDhcpv6SrvTest() {
     virtual ~CtrlDhcpv6SrvTest() {
+        LeaseMgrFactory::destroy();
+        StatsMgr::instance().removeAll();
         reset();
         reset();
     };
     };
 
 
@@ -415,6 +419,37 @@ TEST_F(CtrlChannelDhcpv6SrvTest, controlChannelShutdown) {
     EXPECT_EQ("{ \"result\": 0, \"text\": \"Shutting down.\" }",response);
     EXPECT_EQ("{ \"result\": 0, \"text\": \"Shutting down.\" }",response);
 }
 }
 
 
+// Thist test verifies that the DHCP server immediately reclaims expired
+// leases on leases-reclaim command
+TEST_F(CtrlChannelDhcpv6SrvTest, controlLeasesReclaim) {
+    createUnixChannelServer();
+
+    // Create an expired lease. The lease is expired by 40 seconds ago
+    // (valid lifetime = 60, cltt = now - 100).
+    DuidPtr duid_expired(new DUID(DUID::fromText("00:01:02:03:04:05:06").getDuid()));
+    Lease6Ptr lease_expired(new Lease6(Lease::TYPE_NA, IOAddress("3000::1"),
+                                       duid_expired, 1, 50, 60, 10, 20, SubnetID(1)));
+    lease_expired->cltt_ = time(NULL) - 100;
+
+    // Add lease to the database.
+    LeaseMgr& lease_mgr = LeaseMgrFactory().instance();
+    ASSERT_NO_THROW(lease_mgr.addLease(lease_expired));
+
+    // Make sure it has been added.
+    ASSERT_TRUE(lease_mgr.getLease6(Lease::TYPE_NA, IOAddress("3000::1")));
+
+    // Send the command.
+    std::string response;
+    sendUnixCommand("{ \"command\": \"leases-reclaim\" }", response);
+    EXPECT_EQ("{ \"result\": 0, \"text\": \"Leases successfully reclaimed.\" }", response);
+
+    // Verify that the lease in the database has been processed as expected.
+    ASSERT_NO_THROW(
+        lease_expired = lease_mgr.getLease6(Lease::TYPE_NA, IOAddress("3000::1"))
+    );
+    EXPECT_FALSE(lease_expired);
+}
+
 // Tests that the server properly responds to statistics commands.  Note this
 // Tests that the server properly responds to statistics commands.  Note this
 // is really only intended to verify that the appropriate Statistics handler
 // is really only intended to verify that the appropriate Statistics handler
 // is called based on the command.  It is not intended to be an exhaustive
 // is called based on the command.  It is not intended to be an exhaustive
@@ -461,36 +496,4 @@ TEST_F(CtrlChannelDhcpv6SrvTest, controlChannelStats) {
               response);
               response);
 }
 }
 
 
-// Thist test verifies that the DHCP server immediately reclaims expired
-// leases on leases-reclaim command
-// @todo currently must be last as it changes statistics.
-TEST_F(CtrlChannelDhcpv6SrvTest, controlLeasesReclaim) {
-    createUnixChannelServer();
-
-    // Create an expired lease. The lease is expired by 40 seconds ago
-    // (valid lifetime = 60, cltt = now - 100).
-    DuidPtr duid_expired(new DUID(DUID::fromText("00:01:02:03:04:05:06").getDuid()));
-    Lease6Ptr lease_expired(new Lease6(Lease::TYPE_NA, IOAddress("3000::1"),
-                                       duid_expired, 1, 50, 60, 10, 20, SubnetID(1)));
-    lease_expired->cltt_ = time(NULL) - 100;
-
-    // Add lease to the database.
-    LeaseMgr& lease_mgr = LeaseMgrFactory().instance();
-    ASSERT_NO_THROW(lease_mgr.addLease(lease_expired));
-
-    // Make sure it has been added.
-    ASSERT_TRUE(lease_mgr.getLease6(Lease::TYPE_NA, IOAddress("3000::1")));
-
-    // Send the command.
-    std::string response;
-    sendUnixCommand("{ \"command\": \"leases-reclaim\" }", response);
-    EXPECT_EQ("{ \"result\": 0, \"text\": \"Leases successfully reclaimed.\" }", response);
-
-    // Verify that the lease in the database has been processed as expected.
-    ASSERT_NO_THROW(
-        lease_expired = lease_mgr.getLease6(Lease::TYPE_NA, IOAddress("3000::1"))
-    );
-    EXPECT_FALSE(lease_expired);
-}
-
 } // End of anonymous namespace
 } // End of anonymous namespace