cbuilbot_config: disable factory_install for nonfactory boards

BUG=none
TEST="cbuildbot --remote -g 274230 smaug-release"

Change-Id: Id27a5a1646cedc0b20e7a5a7548606f40d6d0759
Reviewed-on: https://chromium-review.googlesource.com/274230
Reviewed-by: Puneet Kumar <puneetster@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
diff --git a/cbuildbot/config_dump.json b/cbuildbot/config_dump.json
index d4d04a4..cdd28eb 100644
--- a/cbuildbot/config_dump.json
+++ b/cbuildbot/config_dump.json
@@ -17533,8 +17533,7 @@
         "images": [
             "base",
             "recovery",
-            "test",
-            "factory_install"
+            "test"
         ],
         "name": "daisy_winter-full",
         "prebuilts": "public",
@@ -17712,8 +17711,7 @@
         "images": [
             "base",
             "recovery",
-            "test",
-            "factory_install"
+            "test"
         ],
         "internal": true,
         "manifest": "official.xml",
@@ -56656,8 +56654,7 @@
         "images": [
             "base",
             "recovery",
-            "test",
-            "factory_install"
+            "test"
         ],
         "name": "smaug-full",
         "prebuilts": "public",
@@ -56836,8 +56833,7 @@
         "images": [
             "base",
             "recovery",
-            "test",
-            "factory_install"
+            "test"
         ],
         "internal": true,
         "manifest": "official.xml",
diff --git a/cbuildbot/generate_chromeos_config.py b/cbuildbot/generate_chromeos_config.py
index c9cdff0..deed70a 100644
--- a/cbuildbot/generate_chromeos_config.py
+++ b/cbuildbot/generate_chromeos_config.py
@@ -1351,8 +1351,14 @@
     config_name = '%s-%s' % (board, name_suffix)
     if config_name not in _CONFIG:
       base = config_lib.BuildConfig()
-      _CONFIG.AddConfig(config_base, config_name, base, _base_configs[board],
-                         **kwargs)
+      config = _CONFIG.AddConfig(config_base, config_name, base,
+                                 _base_configs[board], **kwargs)
+      if board in _nofactory_boards:
+        try:
+          config.get('images', []).remove('factory_install')
+        except ValueError:
+          pass
+
 
 _chromium_pfq_important_boards = frozenset([
   'arm-generic_freon',