     # notion of load balancing (not really worked out yet)
     assign_host: (opts) =>
         opts = defaults opts,
-            exclude  : []
-            cb       : required
+            exclude     : []
+            member_host : undefined   # if true, put project on a member host; if false, don't put on a member host - ignore if not defined
+            cb          : required
         dbg = @dbg("assign_host")
         dbg("querying database")
         @status

                if host
                    cb()
                else
                    dbg("assigning some host")
                    @compute_server.assign_host
                        cb : (err, h) =>
                            if err
                                dbg("error assigning random host -- #{err}")

                            # definitely don't assign experimental nodes
                            if info.experimental
                                continue
                        if opts.member_host? and (opts.member_host != !!info.member_host)
                            # host is member but project isn't (or vice versa)
                            continue
                        v.push(info)
                        info.host = host
                        if info.error?
