14291: Tweak Scratch/AddedScratch/IncludedScratch behavior
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Thu, 7 Mar 2019 19:16:11 +0000 (14:16 -0500)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Thu, 7 Mar 2019 19:16:11 +0000 (14:16 -0500)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

sdk/go/arvados/config.go

index b0ada5c926c5ff85ac1139d5f1dd6ff3d41c0cd0..f16f98a943cdbe2f0501a35d95cb3e45e9c9d5a9 100644 (file)
@@ -181,10 +181,12 @@ func (it *InstanceTypeMap) UnmarshalJSON(data []byte) error {
                        }
                        if t.Scratch == 0 {
                                t.Scratch = t.IncludedScratch + t.AddedScratch
-                       }
-                       if (t.Scratch - t.IncludedScratch) > t.AddedScratch {
+                       } else if t.AddedScratch == 0 {
                                t.AddedScratch = t.Scratch - t.IncludedScratch
+                       } else if t.IncludedScratch == 0 {
+                               t.IncludedScratch = t.Scratch - t.AddedScratch
                        }
+
                        if t.Scratch != (t.IncludedScratch + t.AddedScratch) {
                                return fmt.Errorf("%v: Scratch != (IncludedScratch + AddedScratch)", t.Name)
                        }