code: def info(self):
          
          proc_info = {"name": self.name,
                       "params": self.cfg,
                       "alive": self.is_alive,
                       "optfile": self.config_path}
          if self.is_alive:
              proc_info['pid'] = self.proc.pid
          logger.debug("proc_info: {proc_info}".format(**locals()))
          mongodb_uri = ''
          server_info = {}
          status_info = {}
          if self.hostname and self.cfg.get('port', None):
              try:
                  c = self.connection
                  server_info = c.server_info()
                  logger.debug("server_info: {server_info}".format(**locals()))
                  mongodb_uri = 'mongodb://' + self.hostname
                  status_info = {"primary": c.is_primary, "mongos": c.is_mongos}
                  logger.debug("status_info: {status_info}".format(**locals()))
              except (pymongo.errors.AutoReconnect, pymongo.errors.OperationFailure, pymongo.errors.ConnectionFailure):
                  server_info = {}
                  status_info = {}
  
          result = {"mongodb_uri": mongodb_uri, "statuses": status_info,
                    "serverInfo": server_info, "procInfo": proc_info,
                    "orchestration": 'servers'}
          if self.login:
              result['mongodb_auth_uri'] = self.mongodb_auth_uri(self.hostname)
          logger.debug("return {result}".format(result=result))
          return result
docs: return info about server as dict object