aboutsummaryrefslogtreecommitdiff
path: root/cros_utils/machines.py
diff options
context:
space:
mode:
Diffstat (limited to 'cros_utils/machines.py')
-rw-r--r--cros_utils/machines.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/cros_utils/machines.py b/cros_utils/machines.py
new file mode 100644
index 00000000..722df3b8
--- /dev/null
+++ b/cros_utils/machines.py
@@ -0,0 +1,25 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Utilities relating to machine-specific functions."""
+
+from __future__ import print_function
+
+from cros_utils import command_executer
+
+
+def MachineIsPingable(machine, logging_level='average'):
+ """Checks to see if a machine is responding to 'ping'.
+
+ Args:
+ machine: String containing the name or ip address of the machine to check.
+ logging_level: The logging level with which to initialize the
+ command_executer (from command_executor.LOG_LEVEL enum list).
+
+ Returns:
+ Boolean indicating whether machine is responding to ping or not.
+ """
+ ce = command_executer.GetCommandExecuter(log_level=logging_level)
+ cmd = 'ping -c 1 -w 3 %s' % machine
+ status = ce.RunCommand(cmd)
+ return status == 0