[cipd] Handle empty responses from CIPD
[cipd] Handle empty responses from CIPD

During a recent GCS outage, we saw some `cipd ensure` failures where
CIPD didn't produce any JSON output. Then the recipe would crash with a
`TypeError("argument of type 'NoneType' is not iterable")` trying to
look up the 'error' key in the JSON output. For example:
https://ci.chromium.org/b/8865717012587636816

To avoid this, skip checking for the 'error' key if the JSON output is
falsy and just re-raise the original StepFailure.

Bug: fuchsia:62641
Change-Id: I2bcd9256e5142dae602728a71feea7fba93e4736
Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/recipes-py/+/2495134
Reviewed-by: Yiwei Zhang <50b2a565e2e78c292794832469a30ce5abc9959c@google.com>
Reviewed-by: Vadim Shtayura <9f116ddb1b24f6fc1916a676eb17161b6c07dfc1@chromium.org>
Commit-Queue: Oliver Newman <c98d05fdc4005e0f75e160701d6b971b76237a97@google.com>

luci/recipes-py,luci/recipes-py