[sdk] Separate properties for SDK & image subbuilds

Currently we pass the same properties to both types
of subbuilds. They require different properties inputs.

Bug: 37259
Change-Id: I2e53d223d6a10cd4f89082a55678f2b6c12204dd
diff --git a/recipes/sdk.expected/release_ci.json b/recipes/sdk.expected/release_ci.json
index 82a7ad4..3737781 100644
--- a/recipes/sdk.expected/release_ci.json
+++ b/recipes/sdk.expected/release_ci.json
@@ -339,7 +339,7 @@
     ],
     "infra_step": true,
     "name": "schedule image builds",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"parent_id\": \"8945511751514863184\", \"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}, {\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###OTHER_SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"parent_id\": \"8945511751514863184\", \"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}, {\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###OTHER_SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
@@ -384,7 +384,6 @@
       "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/release\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
-      "@@@STEP_LOG_LINE@request@          \"parent_id\": \"8945511751514863184\", @@@",
       "@@@STEP_LOG_LINE@request@          \"sdk_id\": \"8945511751514863184\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", @@@",
@@ -412,7 +411,6 @@
       "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/release\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
-      "@@@STEP_LOG_LINE@request@          \"parent_id\": \"8945511751514863184\", @@@",
       "@@@STEP_LOG_LINE@request@          \"sdk_id\": \"8945511751514863184\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", @@@",
diff --git a/recipes/sdk.expected/release_ci_image_failure.json b/recipes/sdk.expected/release_ci_image_failure.json
index 3aefe2e..dd89f6d 100644
--- a/recipes/sdk.expected/release_ci_image_failure.json
+++ b/recipes/sdk.expected/release_ci_image_failure.json
@@ -339,7 +339,7 @@
     ],
     "infra_step": true,
     "name": "schedule image builds",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/master\"}, \"properties\": {\"parent_id\": \"8945511751514863184\", \"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}, {\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###OTHER_SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/master\"}, \"properties\": {\"parent_id\": \"8945511751514863184\", \"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/master\"}, \"properties\": {\"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}, {\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###OTHER_SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/master\"}, \"properties\": {\"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
@@ -384,7 +384,6 @@
       "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/master\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
-      "@@@STEP_LOG_LINE@request@          \"parent_id\": \"8945511751514863184\", @@@",
       "@@@STEP_LOG_LINE@request@          \"sdk_id\": \"8945511751514863184\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", @@@",
@@ -412,7 +411,6 @@
       "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/master\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
-      "@@@STEP_LOG_LINE@request@          \"parent_id\": \"8945511751514863184\", @@@",
       "@@@STEP_LOG_LINE@request@          \"sdk_id\": \"8945511751514863184\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", @@@",
diff --git a/recipes/sdk.expected/release_ci_new_upload.json b/recipes/sdk.expected/release_ci_new_upload.json
index 2fc410d..786c645 100644
--- a/recipes/sdk.expected/release_ci_new_upload.json
+++ b/recipes/sdk.expected/release_ci_new_upload.json
@@ -339,7 +339,7 @@
     ],
     "infra_step": true,
     "name": "schedule image builds",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"parent_id\": \"8945511751514863184\", \"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}, {\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###OTHER_SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"parent_id\": \"8945511751514863184\", \"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}, {\"scheduleBuild\": {\"builder\": {\"bucket\": \"###global-integration-bucket###\", \"builder\": \"###OTHER_SDK_IMAGE_BUILDER###\", \"project\": \"project\"}, \"experimental\": \"NO\", \"fields\": \"builder,createTime,createdBy,critical,endTime,id,input,number,output,startTime,status,updateTime\", \"gitilesCommit\": {\"host\": \"fuchsia.googlesource.com\", \"id\": \"c22471f4e3f842ae18dd9adec82ed9eb78ed1127\", \"project\": \"topaz\", \"ref\": \"refs/heads/release\"}, \"properties\": {\"sdk_id\": \"8945511751514863184\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", \"tags\": [{\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"responses\": [@@@",
@@ -384,7 +384,6 @@
       "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/release\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
-      "@@@STEP_LOG_LINE@request@          \"parent_id\": \"8945511751514863184\", @@@",
       "@@@STEP_LOG_LINE@request@          \"sdk_id\": \"8945511751514863184\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", @@@",
@@ -412,7 +411,6 @@
       "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/release\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
-      "@@@STEP_LOG_LINE@request@          \"parent_id\": \"8945511751514863184\", @@@",
       "@@@STEP_LOG_LINE@request@          \"sdk_id\": \"8945511751514863184\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001340\", @@@",
diff --git a/recipes/sdk.py b/recipes/sdk.py
index d0e0ec0..2685d90 100644
--- a/recipes/sdk.py
+++ b/recipes/sdk.py
@@ -163,7 +163,7 @@
 
   if not sdk_id:
     sdk_id = str(build.id)
-  properties = {'sdk_id': sdk_id, 'parent_id': sdk_id}
+  subbuild_properties = {'sdk_id': sdk_id, 'parent_id': sdk_id}
 
   sdk_schedule_reqs = []
 
@@ -180,7 +180,7 @@
     sdk_schedule_reqs.append(
         api.buildbucket.schedule_request(
             builder=builder_name,
-            properties=properties,
+            properties=subbuild_properties,
             # Leave unset to avoid overriding priority from configs.
             priority=None,
             # TODO(olivernewman): Swarming currently breaks if many builds are
@@ -231,13 +231,15 @@
       pass
 
   image_builds = []
+  image_properties = {'sdk_id': sdk_id}
+
   if publish and companion_images:
     image_schedule_reqs = []
     for image_builder in [i['builder'] for i in companion_images]:
       image_schedule_reqs.append(
           api.buildbucket.schedule_request(
               builder=image_builder,
-              properties=properties,
+              properties=image_properties,
               # Leave unset to avoid overriding priority from configs.
               priority=None,
               # TODO(olivernewman): Swarming currently breaks if many builds