docs: def _update_descriptor(self, state, allocation):
          '''Sometime creating the descriptor for new agent we cannot know in
          which shard it will endup. If it is None or set to lobby, the HA
          will update the field to match his own'''
          if state.descriptor.shard is None or state.descriptor.shard == 'lobby':
              own_shard = state.agent.get_shard_id()
              state.descriptor.shard = own_shard
          state.descriptor.resources = allocation.alloc
          f = fiber.succeed(state.descriptor)
          f.add_callback(state.agent.save_document)
          f.add_callback(self._store_descriptor)
          return f