 
         need_to_save = false
         project      = undefined
-        targets      = undefined
-        server_id    = undefined
+        dc           = undefined   # data center where project currently running
+        targets      = []          # ['address:port', ...] of replication targets
+        server_id    = undefined   # id of the server on which the project is currently running
         errors       = []
         async.series([
             (cb) =>

            (cb) =>
                if not need_to_save
                    cb(); return
                dbg("get the targets for replication")
                @get_hosts
                    cb : (err, t) =>
                        targets = (@global_client.servers.by_id[x].host for x in t when x != server_id)  # targets as ip addresses
                        dbg("sync_targets = #{misc.to_json(targets)}")
                        cb(err)
            (cb) =>
                if not need_to_save
                    cb(); return

                        if not r?
                            r = k[-1]
                    opts.cb(undefined, r)

    get_data_center: (opts) =>
        opts = defaults opts,
            server_id : required
            cb        : required  # cb(err, dc)   where dc = 0,1,2,3, etc.
        @database.select_one
            table   : 'storage_servers'
            columns : ['dc']
            where   : {dummy:true, server_id:opts.server_id}
            cb      : (err, result) =>
                if err
                    opts.cb(err)
                else
                    opts.cb(undefined, result[0])

    score_servers: (opts) =>
        opts = defaults opts,
