                     action : 'open'
                     target : host
                     cb     : cb
-        ], opts.cb)
+            (cb) =>
+                dbg("succeeded in opening; wait until host set")
+                @_synctable.wait
+                    until   : (table) => table.getIn([@project_id, 'host', 'host'])?
+                    timeout : 30  # should be very fast
+                    cb      : opts.cb
+        ], (err) =>
+            dbg("opening done -- #{err}")
+            opts.cb(err)
+        )
 
 
     # start local_hub daemon running (must be opened somewhere)

                        else
                            cb()
            (cb) =>
                dbg("set state to '#{final_state}")
                @_set_state
                    state      : final_state
                    cb         : cb

            dbg("already starting -- nothing to do")
            opts.cb()
            return
        async.series([
            (cb) =>
                @open(cb : cb)
            (cb) =>
                if opts.set_quotas
                    dbg("setting all quotas")
