Don't blow up when fsi config has no applicable models.

When scheduling FSI AU tests on every applicable model don't blow up
when no applicable models.

BUG=chromium:1119439
TEST=./run_tests

Change-Id: I209e126b37f86c1f1ed8befb3f2553015c5b3271
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/2375677
Commit-Queue: David Burger <dburger@chromium.org>
Tested-by: David Burger <dburger@chromium.org>
Auto-Submit: David Burger <dburger@chromium.org>
Reviewed-by: LaMont Jones <lamontjones@chromium.org>
diff --git a/cbuildbot/stages/release_stages.py b/cbuildbot/stages/release_stages.py
index 6fc9b91..355c8f2 100644
--- a/cbuildbot/stages/release_stages.py
+++ b/cbuildbot/stages/release_stages.py
@@ -557,10 +557,12 @@
 
   def _ScheduleForApplicableModels(self, archive_board, archive_build,
                                    fsi_configs, suite_name):
-    """Schedule FSI AU tests on every applicable_model.
+    """Schedule FSI AU tests on every applicable_model, if any.
 
     We schedule on every model even if it is not in the 'au' suite.
     This ensures no FSI tests are missed from models being disabled in the lab.
+    Note that if an fsi config has no applicable models then no tests will be
+    scheduled for it.
 
     Args:
       archive_board: The board we schedule against.
@@ -571,7 +573,7 @@
     stages = []
     for payload_config in fsi_configs:
       applicable_models = [m for m in self._run.config.models
-                           if m.name in payload_config.applicable_models]
+                           if m.name in payload_config.applicable_models or []]
       stages += self._ScheduleForModels(archive_board, archive_build,
                                         applicable_models, [payload_config],
                                         suite_name)