Skip pulling and reporting symbolic links for remote instances

Cuttlefish runtime directory contains binary files, symbolic links,
configurations, and logs. Acloud pulls unique files, and reports logs
and configurations only.

Test: acloud-dev create -vv --config-file ~/acloud-user.config \
      --host-user vsoc-01 --image-download-dir ~/download \
      --local-image \
      --report-file report.json \
      --host-ssh-private-key-path ~/id_rsa \
      --host 192.168.9.2 \
      --service-account-json-private-key-path ~/key.json
Bug: 154175542
Change-Id: I36757563defeb918eac81d7bc82af9f1785ff4d4
diff --git a/internal/lib/cvd_compute_client_multi_stage.py b/internal/lib/cvd_compute_client_multi_stage.py
index 83700fd..0402ac7 100644
--- a/internal/lib/cvd_compute_client_multi_stage.py
+++ b/internal/lib/cvd_compute_client_multi_stage.py
@@ -487,9 +487,11 @@
             log = report.LogFile(log_file, constants.LOG_TYPE_TEXT)
             if log_file.endswith("kernel.log"):
                 log = report.LogFile(log_file, constants.LOG_TYPE_KERNEL_LOG)
-            if log_file.endswith("logcat"):
+            elif log_file.endswith("logcat"):
                 log = report.LogFile(log_file, constants.LOG_TYPE_LOGCAT,
                                      "full_gce_logcat")
+            elif not (log_file.endswith(".log") or log_file.endswith(".json")):
+                continue
             self._all_logs[instance].append(log)
 
         if not download:
diff --git a/internal/lib/cvd_compute_client_multi_stage_test.py b/internal/lib/cvd_compute_client_multi_stage_test.py
index 81e8082..e8e3187 100644
--- a/internal/lib/cvd_compute_client_multi_stage_test.py
+++ b/internal/lib/cvd_compute_client_multi_stage_test.py
@@ -204,7 +204,7 @@
             ]
         }
         mock_pull.GetAllLogFilePaths.return_value = [
-            "/kernel.log", "/logcat", "/launcher.log"]
+            "/kernel.log", "/logcat", "/launcher.log", "/access-kregistry"]
 
         created_subprocess = mock.MagicMock()
         created_subprocess.stdout = mock.MagicMock()
diff --git a/pull/pull.py b/pull/pull.py
index 7f118da..637a989 100644
--- a/pull/pull.py
+++ b/pull/pull.py
@@ -34,7 +34,10 @@
 
 logger = logging.getLogger(__name__)
 
-_FIND_LOG_FILE_CMD = "find -L %s -type f" % constants.REMOTE_LOG_FOLDER
+# REMOTE_LOG_FOLDER and the log files can be symbolic links. The -H flag makes
+# the command skip the links except REMOTE_LOG_FOLDER. The returned logs are
+# unique.
+_FIND_LOG_FILE_CMD = "find -H %s -type f" % constants.REMOTE_LOG_FOLDER
 # Black list for log files.
 _KERNEL = "kernel"
 _IMG_FILE_EXTENSION = ".img"