[autotest] Make checking for hostlog file explicit.

The au test checks hostlogs returned from the devserver for update
events. The filename can be named with either the hostname or the DUT's
IP address. This CL checks for both and fails if neither at found.

BUG=chromium:741907
TEST=autoupdate_EndToEndTest passes with IP hostlog filename

Change-Id: I595c4b3e980bf03fde197ce704958c5c6f2a08f1
Reviewed-on: https://chromium-review.googlesource.com/569142
Commit-Ready: David Haddock <dhaddock@chromium.org>
Tested-by: David Haddock <dhaddock@chromium.org>
Reviewed-by: David Haddock <dhaddock@chromium.org>
diff --git a/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py b/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py
index b0f30db..bdb88fe 100755
--- a/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py
+++ b/server/site_tests/autoupdate_EndToEndTest/autoupdate_EndToEndTest.py
@@ -336,7 +336,7 @@
                   self._event_log = json.loads(out_log.read())
             except Exception as e:
                 raise error.TestFail('Error while reading the hostlogs '
-                                     'from devserver: %s', e)
+                                     'from devserver: %s' % e)
 
         # Return next new event, if one is found.
         if len(self._event_log) > self._num_consumed_events:
@@ -884,6 +884,24 @@
         self._omaha_devserver = None
 
 
+    def _get_hostlog_file(self, filename, pid):
+        """Return the hostlog file location.
+
+        @param filename: The partial filename to look for.
+        @param pid: The pid of the update.
+
+        """
+        hosts = [self._host.hostname, self._host.ip]
+        for host in hosts:
+            hostlog = '%s_%s_%s' % (filename, host, pid)
+            file_url = os.path.join(self.job.resultdir,
+                                    dev_server.AUTO_UPDATE_LOG_DIR,
+                                    hostlog)
+            if os.path.exists(file_url):
+                return file_url
+        raise error.TestFail('Could not find %s for pid %s' % (filename, pid))
+
+
     def _dump_update_engine_log(self, test_platform):
         """Dumps relevant AU error log."""
         try:
@@ -1049,11 +1067,7 @@
             pid = test_platform.trigger_update(test_conf['target_payload_uri'])
 
             # Verify the host log that was returned from the update.
-            rootfs_hostlog = '%s_%s_%s' % ('devserver_hostlog_rootfs',
-                                           self._host.hostname, pid)
-            file_url = os.path.join(self.job.resultdir,
-                                    dev_server.AUTO_UPDATE_LOG_DIR,
-                                    rootfs_hostlog)
+            file_url = self._get_hostlog_file('devserver_hostlog_rootfs', pid)
 
             logging.info('Checking update steps with devserver hostlog file: '
                          '%s' % file_url)
@@ -1120,11 +1134,7 @@
             # Observe post-reboot update check, which should indicate that the
             # image version has been updated.
             # Verify the host log that was returned from the update.
-            reboot_hostlog = '%s_%s_%s' % ('devserver_hostlog_reboot',
-                                           self._host.hostname, pid)
-            file_url = os.path.join(self.job.resultdir,
-                                    dev_server.AUTO_UPDATE_LOG_DIR,
-                                    reboot_hostlog)
+            file_url = self._get_hostlog_file('devserver_hostlog_reboot', pid)
 
             logging.info('Checking post-reboot devserver hostlogs: %s' %
                          file_url)