code: def setup_new_conf(self):
          super(Arbiter, self).setup_new_conf()
          with self.conf_lock:
              logger.info("I received a new configuration from my master")
              self.cur_conf = self.new_conf
              self_conf = self.cur_conf.get('self_conf', None)
              if not self_conf:
                  self_conf = self.conf
              whole_conf = self.cur_conf['whole_conf']
              logger.debug("Received a new configuration, containing:")
              for key in self.cur_conf:
                  logger.debug("- %s: %s", key, self.cur_conf[key])
              logger.debug("satellite self configuration part: %s", self_conf)
              self.alignak_name = self.cur_conf['alignak_name']
              logger.info("My Alignak instance: %s", self.alignak_name)
              self.new_conf = {}
              t00 = time.time()
              try:
                  received_conf_part = unserialize(whole_conf)
              except AlignakClassLookupException as exp:
                  self.new_conf = {
                      "_status": "Cannot un-serialize configuration received from arbiter"
                  }
                  logger.error(self.new_conf['_status'])
                  logger.error("Back trace of the error:\n%s", traceback.format_exc())
                  return
              except Exception as exp:
                  self.new_conf = {
                      "_status": "Cannot un-serialize configuration received from arbiter"
                  }
                  logger.error(self.new_conf['_status'])
                  logger.error(self.new_conf)
                  self.exit_on_exception(exp, self.new_conf)
              logger.info("Monitored configuration %s received at %d. Un-serialized in %d secs",
                          received_conf_part, t00, time.time() - t00)
              my_satellites = getattr(self, 'arbiters', {})
              received_satellites = self.cur_conf['arbiters']
              for link_uuid in received_satellites:
                  rs_conf = received_satellites[link_uuid]
                  logger.debug("- received %s - %s: %s", rs_conf['instance_id'],
                               rs_conf['type'], rs_conf['name'])
                  already_got = rs_conf['instance_id'] in my_satellites
                  broks = []
                  actions = {}
                  wait_homerun = {}
                  external_commands = {}
                  running_id = 0
                  if already_got:
                      logger.warning("I already got: %s", rs_conf['instance_id'])
                      running_id = my_satellites[link_uuid].running_id
                      (broks, actions,
                       wait_homerun, external_commands) = \
                          my_satellites[link_uuid].get_and_clear_context()
                      del my_satellites[link_uuid]
                  new_link = SatelliteLink.get_a_satellite_link('arbiter', rs_conf)
                  my_satellites[new_link.uuid] = new_link
                  logger.info("I got a new arbiter satellite: %s", new_link)
                  new_link.running_id = running_id
                  new_link.external_commands = external_commands
                  new_link.broks = broks
                  new_link.wait_homerun = wait_homerun
                  new_link.actions = actions
          self.have_conf = True