[autotest] Use ping to verify server exists when creating server in server db.
Devservers can't use reverse lookup to loopup the hostname with IP address.
BUG=chromium:444625
TEST=add devserver to server db.
Change-Id: I387dab27f77e18348413488d6dc4bd915b42cacc
Reviewed-on: https://chromium-review.googlesource.com/238430
Reviewed-by: Dan Shi <dshi@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
Trybot-Ready: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
diff --git a/frontend/server/models.py b/frontend/server/models.py
index 43379c7..9a49f77 100644
--- a/frontend/server/models.py
+++ b/frontend/server/models.py
@@ -5,13 +5,12 @@
"""Django model for server database.
"""
-import socket
from django.db import models as dbmodels
import common
-from autotest_lib.client.common_lib import base_utils as utils
from autotest_lib.client.common_lib import enum
from autotest_lib.client.common_lib import error
+from autotest_lib.client.common_lib.cros.network import ping_runner
from autotest_lib.frontend.afe import model_logic
@@ -139,8 +138,6 @@
(key, value,
', '.join(RANGE_LIMITS[key])))
elif key == 'hostname':
- try:
- utils.normalize_hostname(value)
- except socket.error:
- raise error.InvalidDataError('Can not resolve hostname "%s".' %
- value)
+ if not ping_runner.PingRunner().simple_ping(value):
+ raise error.InvalidDataError('Can not reach server with '
+ 'hostname "%s".' % value)