Parcourir la source

[2967] fix line wrap problems, no code changes

Paul Selkirk il y a 12 ans
Parent
commit
6d40ecfc23
1 fichiers modifiés avec 88 ajouts et 44 suppressions
  1. 88 44
      src/bin/zonemgr/zonemgr.py.in

+ 88 - 44
src/bin/zonemgr/zonemgr.py.in

@@ -66,7 +66,9 @@ if "B10_FROM_BUILD" in os.environ:
 else:
 else:
     PREFIX = "@prefix@"
     PREFIX = "@prefix@"
     DATAROOTDIR = "@datarootdir@"
     DATAROOTDIR = "@datarootdir@"
-    SPECFILE_PATH = "@datadir@/@PACKAGE@".replace("${datarootdir}", DATAROOTDIR).replace("${prefix}", PREFIX)
+    SPECFILE_PATH = "@datadir@/@PACKAGE@".replace("${datarootdir}",
+                                          DATAROOTDIR).replace("${prefix}",
+                                                               PREFIX)
     AUTH_SPECFILE_PATH = SPECFILE_PATH
     AUTH_SPECFILE_PATH = SPECFILE_PATH
 
 
 SPECFILE_LOCATION = SPECFILE_PATH + "/zonemgr.spec"
 SPECFILE_LOCATION = SPECFILE_PATH + "/zonemgr.spec"
@@ -133,27 +135,32 @@ class ZonemgrRefresh:
     def _set_zone_timer(self, zone_name_class, max, jitter):
     def _set_zone_timer(self, zone_name_class, max, jitter):
         """Set zone next refresh time.
         """Set zone next refresh time.
         jitter should not be bigger than half the original value."""
         jitter should not be bigger than half the original value."""
-        self._set_zone_next_refresh_time(zone_name_class, self._get_current_time() + \
+        self._set_zone_next_refresh_time(zone_name_class,
+                                         self._get_current_time() + \
                                             self._random_jitter(max, jitter))
                                             self._random_jitter(max, jitter))
 
 
     def _set_zone_refresh_timer(self, zone_name_class):
     def _set_zone_refresh_timer(self, zone_name_class):
         """Set zone next refresh time after zone refresh success.
         """Set zone next refresh time after zone refresh success.
            now + refresh - refresh_jitter <= next_refresh_time <= now + refresh
            now + refresh - refresh_jitter <= next_refresh_time <= now + refresh
            """
            """
-        zone_refresh_time = float(self._get_zone_soa_rdata(zone_name_class).split(" ")[REFRESH_OFFSET])
+        zone_refresh_time = float(self._get_zone_soa_rdata(zone_name_class).\
+                                      split(" ")[REFRESH_OFFSET])
         zone_refresh_time = max(self._lowerbound_refresh, zone_refresh_time)
         zone_refresh_time = max(self._lowerbound_refresh, zone_refresh_time)
-        self._set_zone_timer(zone_name_class, zone_refresh_time, self._refresh_jitter * zone_refresh_time)
+        self._set_zone_timer(zone_name_class, zone_refresh_time,
+                             self._refresh_jitter * zone_refresh_time)
 
 
     def _set_zone_retry_timer(self, zone_name_class):
     def _set_zone_retry_timer(self, zone_name_class):
         """Set zone next refresh time after zone refresh fail.
         """Set zone next refresh time after zone refresh fail.
            now + retry - retry_jitter <= next_refresh_time <= now + retry
            now + retry - retry_jitter <= next_refresh_time <= now + retry
            """
            """
         if (self._get_zone_soa_rdata(zone_name_class) is not None):
         if (self._get_zone_soa_rdata(zone_name_class) is not None):
-            zone_retry_time = float(self._get_zone_soa_rdata(zone_name_class).split(" ")[RETRY_OFFSET])
+            zone_retry_time = float(self._get_zone_soa_rdata(zone_name_class).\
+                                        split(" ")[RETRY_OFFSET])
         else:
         else:
             zone_retry_time = 0.0
             zone_retry_time = 0.0
         zone_retry_time = max(self._lowerbound_retry, zone_retry_time)
         zone_retry_time = max(self._lowerbound_retry, zone_retry_time)
-        self._set_zone_timer(zone_name_class, zone_retry_time, self._refresh_jitter * zone_retry_time)
+        self._set_zone_timer(zone_name_class, zone_retry_time,
+                             self._refresh_jitter * zone_retry_time)
 
 
     def _set_zone_notify_timer(self, zone_name_class):
     def _set_zone_notify_timer(self, zone_name_class):
         """Set zone next refresh time after receiving notify
         """Set zone next refresh time after receiving notify
@@ -168,18 +175,21 @@ class ZonemgrRefresh:
     def zone_refresh_success(self, zone_name_class):
     def zone_refresh_success(self, zone_name_class):
         """Update zone info after zone refresh success"""
         """Update zone info after zone refresh success"""
         if (self._zone_not_exist(zone_name_class)):
         if (self._zone_not_exist(zone_name_class)):
-            logger.error(ZONEMGR_UNKNOWN_ZONE_SUCCESS, zone_name_class[0], zone_name_class[1])
+            logger.error(ZONEMGR_UNKNOWN_ZONE_SUCCESS, zone_name_class[0],
+                         zone_name_class[1])
             raise ZonemgrException("[b10-zonemgr] Zone (%s, %s) doesn't "
             raise ZonemgrException("[b10-zonemgr] Zone (%s, %s) doesn't "
                                    "belong to zonemgr" % zone_name_class)
                                    "belong to zonemgr" % zone_name_class)
         self.zonemgr_reload_zone(zone_name_class)
         self.zonemgr_reload_zone(zone_name_class)
         self._set_zone_refresh_timer(zone_name_class)
         self._set_zone_refresh_timer(zone_name_class)
         self._set_zone_state(zone_name_class, ZONE_OK)
         self._set_zone_state(zone_name_class, ZONE_OK)
-        self._set_zone_last_refresh_time(zone_name_class, self._get_current_time())
+        self._set_zone_last_refresh_time(zone_name_class,
+                                         self._get_current_time())
 
 
     def zone_refresh_fail(self, zone_name_class):
     def zone_refresh_fail(self, zone_name_class):
         """Update zone info after zone refresh fail"""
         """Update zone info after zone refresh fail"""
         if (self._zone_not_exist(zone_name_class)):
         if (self._zone_not_exist(zone_name_class)):
-            logger.error(ZONEMGR_UNKNOWN_ZONE_FAIL, zone_name_class[0], zone_name_class[1])
+            logger.error(ZONEMGR_UNKNOWN_ZONE_FAIL, zone_name_class[0],
+                         zone_name_class[1])
             raise ZonemgrException("[b10-zonemgr] Zone (%s, %s) doesn't "
             raise ZonemgrException("[b10-zonemgr] Zone (%s, %s) doesn't "
                                    "belong to zonemgr" % zone_name_class)
                                    "belong to zonemgr" % zone_name_class)
         # Is zone expired?
         # Is zone expired?
@@ -219,15 +229,19 @@ class ZonemgrRefresh:
 
 
     def zonemgr_reload_zone(self, zone_name_class):
     def zonemgr_reload_zone(self, zone_name_class):
         """ Reload a zone."""
         """ Reload a zone."""
-        zone_soa = sqlite3_ds.get_zone_soa(str(zone_name_class[0]), self._db_file)
-        self._zonemgr_refresh_info[zone_name_class]["zone_soa_rdata"] = zone_soa[7]
+        zone_soa = sqlite3_ds.get_zone_soa(str(zone_name_class[0]),
+                                           self._db_file)
+        self._zonemgr_refresh_info[zone_name_class]["zone_soa_rdata"] = \
+            zone_soa[7]
 
 
     def zonemgr_add_zone(self, zone_name_class):
     def zonemgr_add_zone(self, zone_name_class):
         """ Add a zone into zone manager."""
         """ Add a zone into zone manager."""
 
 
-        logger.debug(DBG_ZONEMGR_BASIC, ZONEMGR_LOAD_ZONE, zone_name_class[0], zone_name_class[1])
+        logger.debug(DBG_ZONEMGR_BASIC, ZONEMGR_LOAD_ZONE, zone_name_class[0],
+                     zone_name_class[1])
         zone_info = {}
         zone_info = {}
-        zone_soa = sqlite3_ds.get_zone_soa(str(zone_name_class[0]), self._db_file)
+        zone_soa = sqlite3_ds.get_zone_soa(str(zone_name_class[0]),
+                                           self._db_file)
         if zone_soa is None:
         if zone_soa is None:
             logger.warn(ZONEMGR_NO_SOA, zone_name_class[0], zone_name_class[1])
             logger.warn(ZONEMGR_NO_SOA, zone_name_class[0], zone_name_class[1])
             zone_info["zone_soa_rdata"] = None
             zone_info["zone_soa_rdata"] = None
@@ -238,16 +252,21 @@ class ZonemgrRefresh:
         zone_info["zone_state"] = ZONE_OK
         zone_info["zone_state"] = ZONE_OK
         zone_info["last_refresh_time"] = self._get_current_time()
         zone_info["last_refresh_time"] = self._get_current_time()
         self._zonemgr_refresh_info[zone_name_class] = zone_info
         self._zonemgr_refresh_info[zone_name_class] = zone_info
-        # Imposes some random jitters to avoid many zones need to do refresh at the same time.
+        # Imposes some random jitters to avoid many zones need to do refresh
+        # at the same time.
         zone_reload_time = max(self._lowerbound_retry, zone_reload_time)
         zone_reload_time = max(self._lowerbound_retry, zone_reload_time)
-        self._set_zone_timer(zone_name_class, zone_reload_time, self._reload_jitter * zone_reload_time)
+        self._set_zone_timer(zone_name_class, zone_reload_time,
+                             self._reload_jitter * zone_reload_time)
 
 
     def _zone_is_expired(self, zone_name_class):
     def _zone_is_expired(self, zone_name_class):
         """Judge whether a zone is expired or not."""
         """Judge whether a zone is expired or not."""
-        zone_expired_time = float(self._get_zone_soa_rdata(zone_name_class).split(" ")[EXPIRED_OFFSET])
-        zone_last_refresh_time = self._get_zone_last_refresh_time(zone_name_class)
+        zone_expired_time = float(self._get_zone_soa_rdata(zone_name_class).\
+                                      split(" ")[EXPIRED_OFFSET])
+        zone_last_refresh_time = \
+            self._get_zone_last_refresh_time(zone_name_class)
         if (ZONE_EXPIRED == self._get_zone_state(zone_name_class) or
         if (ZONE_EXPIRED == self._get_zone_state(zone_name_class) or
-            zone_last_refresh_time + zone_expired_time <= self._get_current_time()):
+            zone_last_refresh_time + zone_expired_time <= \
+                self._get_current_time()):
             return True
             return True
 
 
         return False
         return False
@@ -262,16 +281,19 @@ class ZonemgrRefresh:
         self._zonemgr_refresh_info[zone_name_class]["last_refresh_time"] = time
         self._zonemgr_refresh_info[zone_name_class]["last_refresh_time"] = time
 
 
     def _get_zone_notifier_master(self, zone_name_class):
     def _get_zone_notifier_master(self, zone_name_class):
-        if ("notify_master" in self._zonemgr_refresh_info[zone_name_class].keys()):
+        if ("notify_master" in \
+                self._zonemgr_refresh_info[zone_name_class].keys()):
             return self._zonemgr_refresh_info[zone_name_class]["notify_master"]
             return self._zonemgr_refresh_info[zone_name_class]["notify_master"]
 
 
         return None
         return None
 
 
     def _set_zone_notifier_master(self, zone_name_class, master_addr):
     def _set_zone_notifier_master(self, zone_name_class, master_addr):
-        self._zonemgr_refresh_info[zone_name_class]["notify_master"] = master_addr
+        self._zonemgr_refresh_info[zone_name_class]["notify_master"] = \
+            master_addr
 
 
     def _clear_zone_notifier_master(self, zone_name_class):
     def _clear_zone_notifier_master(self, zone_name_class):
-        if ("notify_master" in self._zonemgr_refresh_info[zone_name_class].keys()):
+        if ("notify_master" in \
+                self._zonemgr_refresh_info[zone_name_class].keys()):
             del self._zonemgr_refresh_info[zone_name_class]["notify_master"]
             del self._zonemgr_refresh_info[zone_name_class]["notify_master"]
 
 
     def _get_zone_state(self, zone_name_class):
     def _get_zone_state(self, zone_name_class):
@@ -314,7 +336,8 @@ class ZonemgrRefresh:
             # If hasn't received refresh response but are within refresh
             # If hasn't received refresh response but are within refresh
             # timeout, skip the zone
             # timeout, skip the zone
             if (ZONE_REFRESHING == zone_state and
             if (ZONE_REFRESHING == zone_state and
-                (self._get_zone_refresh_timeout(zone_name_class) > self._get_current_time())):
+                (self._get_zone_refresh_timeout(zone_name_class) > \
+                     self._get_current_time())):
                 continue
                 continue
 
 
             # Get the zone with minimum next_refresh_time
             # Get the zone with minimum next_refresh_time
@@ -324,7 +347,8 @@ class ZonemgrRefresh:
                 zone_need_refresh = zone_name_class
                 zone_need_refresh = zone_name_class
 
 
             # Find the zone need do refresh
             # Find the zone need do refresh
-            if (self._get_zone_next_refresh_time(zone_need_refresh) < self._get_current_time()):
+            if (self._get_zone_next_refresh_time(zone_need_refresh) < \
+                    self._get_current_time()):
                 break
                 break
 
 
         return zone_need_refresh
         return zone_need_refresh
@@ -332,9 +356,12 @@ class ZonemgrRefresh:
 
 
     def _do_refresh(self, zone_name_class):
     def _do_refresh(self, zone_name_class):
         """Do zone refresh."""
         """Do zone refresh."""
-        logger.debug(DBG_ZONEMGR_BASIC, ZONEMGR_REFRESH_ZONE, zone_name_class[0], zone_name_class[1])
+        logger.debug(DBG_ZONEMGR_BASIC, ZONEMGR_REFRESH_ZONE,
+                     zone_name_class[0], zone_name_class[1])
         self._set_zone_state(zone_name_class, ZONE_REFRESHING)
         self._set_zone_state(zone_name_class, ZONE_REFRESHING)
-        self._set_zone_refresh_timeout(zone_name_class, self._get_current_time() + self._max_transfer_timeout)
+        self._set_zone_refresh_timeout(zone_name_class,
+                                       self._get_current_time() + \
+                                           self._max_transfer_timeout)
         notify_master = self._get_zone_notifier_master(zone_name_class)
         notify_master = self._get_zone_notifier_master(zone_name_class)
         # If the zone has notify master, send notify command to xfrin module
         # If the zone has notify master, send notify command to xfrin module
         if notify_master:
         if notify_master:
@@ -367,16 +394,20 @@ class ZonemgrRefresh:
             if start_event:
             if start_event:
                 start_event.set()
                 start_event.set()
                 start_event = None
                 start_event = None
-            # If zonemgr has no zone, set timer timeout to self._lowerbound_retry.
+            # If zonemgr has no zone, set timer timeout to
+            # self._lowerbound_retry.
             if self._zone_mgr_is_empty():
             if self._zone_mgr_is_empty():
                 timeout = self._lowerbound_retry
                 timeout = self._lowerbound_retry
             else:
             else:
                 zone_need_refresh = self._find_need_do_refresh_zone()
                 zone_need_refresh = self._find_need_do_refresh_zone()
-                # If don't get zone with minimum next refresh time, set timer timeout to self._lowerbound_retry.
+                # If don't get zone with minimum next refresh time, set timer
+                # timeout to self._lowerbound_retry.
                 if not zone_need_refresh:
                 if not zone_need_refresh:
                     timeout = self._lowerbound_retry
                     timeout = self._lowerbound_retry
                 else:
                 else:
-                    timeout = self._get_zone_next_refresh_time(zone_need_refresh) - self._get_current_time()
+                    timeout = \
+                        self._get_zone_next_refresh_time(zone_need_refresh) - \
+                        self._get_current_time()
                     if (timeout < 0):
                     if (timeout < 0):
                         self._do_refresh(zone_need_refresh)
                         self._do_refresh(zone_need_refresh)
                         continue
                         continue
@@ -384,7 +415,9 @@ class ZonemgrRefresh:
             """ Wait for the socket notification for a maximum time of timeout
             """ Wait for the socket notification for a maximum time of timeout
             in seconds (as float)."""
             in seconds (as float)."""
             try:
             try:
-                rlist, wlist, xlist = select.select([self._check_sock, self._read_sock], [], [], timeout)
+                rlist, wlist, xlist = \
+                    select.select([self._check_sock, self._read_sock],
+                                  [], [], timeout)
             except select.error as e:
             except select.error as e:
                 if e.args[0] == errno.EINTR:
                 if e.args[0] == errno.EINTR:
                     (rlist, wlist, xlist) = ([], [], [])
                     (rlist, wlist, xlist) = ([], [], [])
@@ -403,8 +436,8 @@ class ZonemgrRefresh:
 
 
     def run_timer(self, daemon=False):
     def run_timer(self, daemon=False):
         """
         """
-        Keep track of zone timers. Spawns and starts a thread. The thread object
-        is returned.
+        Keep track of zone timers. Spawns and starts a thread. The thread
+        object is returned.
 
 
         You can stop it by calling shutdown().
         You can stop it by calling shutdown().
         """
         """
@@ -521,10 +554,12 @@ class ZonemgrRefresh:
                     required[name_class] = True
                     required[name_class] = True
                     # Add it only if it isn't there already
                     # Add it only if it isn't there already
                     if not name_class in self._zonemgr_refresh_info:
                     if not name_class in self._zonemgr_refresh_info:
-                        # If we are not able to find it in database, log an warning
+                        # If we are not able to find it in database, log an
+                        # warning
                         self.zonemgr_add_zone(name_class)
                         self.zonemgr_add_zone(name_class)
                 # Drop the zones that are no longer there
                 # Drop the zones that are no longer there
-                # Do it in two phases, python doesn't like deleting while iterating
+                # Do it in two phases, python doesn't like deleting while
+                # iterating
                 to_drop = []
                 to_drop = []
                 for old_zone in self._zonemgr_refresh_info:
                 for old_zone in self._zonemgr_refresh_info:
                     if not old_zone in required:
                     if not old_zone in required:
@@ -540,9 +575,12 @@ class Zonemgr:
         self._zone_refresh = None
         self._zone_refresh = None
         self._setup_session()
         self._setup_session()
         self._db_file = self.get_db_file()
         self._db_file = self.get_db_file()
-        # Create socket pair for communicating between main thread and zonemgr timer thread
-        self._master_socket, self._slave_socket = socket.socketpair(socket.AF_UNIX, socket.SOCK_STREAM)
-        self._zone_refresh = ZonemgrRefresh(self._db_file, self._slave_socket, self._module_cc)
+        # Create socket pair for communicating between main thread and zonemgr
+        # timer thread
+        self._master_socket, self._slave_socket = \
+            socket.socketpair(socket.AF_UNIX, socket.SOCK_STREAM)
+        self._zone_refresh = ZonemgrRefresh(self._db_file, self._slave_socket,
+                                            self._module_cc)
         self._zone_refresh.run_timer()
         self._zone_refresh.run_timer()
 
 
         self._lock = threading.Lock()
         self._lock = threading.Lock()
@@ -550,9 +588,10 @@ class Zonemgr:
         self.running = False
         self.running = False
 
 
     def _setup_session(self):
     def _setup_session(self):
-        """Setup two sessions for zonemgr, one(self._module_cc) is used for receiving
-        commands and config data sent from other modules, another one (self._cc)
-        is used to send commands to proper modules."""
+        """Setup two sessions for zonemgr, one(self._module_cc) is used for
+        receiving commands and config data sent from other modules, another
+        one (self._cc) is used to send commands to proper modules.
+        """
         self._module_cc = isc.config.ModuleCCSession(SPECFILE_LOCATION,
         self._module_cc = isc.config.ModuleCCSession(SPECFILE_LOCATION,
                                                   self.config_handler,
                                                   self.config_handler,
                                                   self.command_handler)
                                                   self.command_handler)
@@ -562,7 +601,9 @@ class Zonemgr:
         self._module_cc.start()
         self._module_cc.start()
 
 
     def get_db_file(self):
     def get_db_file(self):
-        db_file, is_default = self._module_cc.get_remote_config_value(AUTH_MODULE_NAME, "database_file")
+        db_file, is_default = \
+            self._module_cc.get_remote_config_value(AUTH_MODULE_NAME,
+                                                    "database_file")
         # this too should be unnecessary, but currently the
         # this too should be unnecessary, but currently the
         # 'from build' override isn't stored in the config
         # 'from build' override isn't stored in the config
         # (and we don't have indirect python access to datasources yet)
         # (and we don't have indirect python access to datasources yet)
@@ -572,7 +613,7 @@ class Zonemgr:
 
 
     def shutdown(self):
     def shutdown(self):
         """Shutdown the zonemgr process. The thread which is keeping track of
         """Shutdown the zonemgr process. The thread which is keeping track of
-           zone timers should be terminated.
+        zone timers should be terminated.
         """
         """
         self._zone_refresh.shutdown()
         self._zone_refresh.shutdown()
 
 
@@ -596,7 +637,8 @@ class Zonemgr:
         self._config_data_check(complete)
         self._config_data_check(complete)
         if self._zone_refresh is not None:
         if self._zone_refresh is not None:
             try:
             try:
-                self._zone_refresh.update_config_data(complete, self._module_cc)
+                self._zone_refresh.update_config_data(complete,
+                                                      self._module_cc)
             except Exception as e:
             except Exception as e:
                 answer = create_answer(1, str(e))
                 answer = create_answer(1, str(e))
                 ok = False
                 ok = False
@@ -608,7 +650,8 @@ class Zonemgr:
     def _config_data_check(self, config_data):
     def _config_data_check(self, config_data):
         """Check whether the new config data is valid or
         """Check whether the new config data is valid or
         not. It contains only basic logic, not full check against
         not. It contains only basic logic, not full check against
-        database."""
+        database.
+        """
         # jitter should not be bigger than half of the original value
         # jitter should not be bigger than half of the original value
         if config_data.get('refresh_jitter') > 0.5:
         if config_data.get('refresh_jitter') > 0.5:
             config_data['refresh_jitter'] = 0.5
             config_data['refresh_jitter'] = 0.5
@@ -641,7 +684,8 @@ class Zonemgr:
         ZONE_NOTIFY_COMMAND is issued by Auth process;
         ZONE_NOTIFY_COMMAND is issued by Auth process;
         ZONE_NEW_DATA_READY_CMD and ZONE_XFRIN_FAILED are issued by
         ZONE_NEW_DATA_READY_CMD and ZONE_XFRIN_FAILED are issued by
         Xfrin process;
         Xfrin process;
-        shutdown is issued by a user or Init process. """
+        shutdown is issued by a user or Init process.
+        """
         answer = create_answer(0)
         answer = create_answer(0)
         if command == ZONE_NOTIFY_COMMAND:
         if command == ZONE_NOTIFY_COMMAND:
             """ Handle Auth notify command"""
             """ Handle Auth notify command"""