When a buildbarn service fails reading some jsonnet configuration file, it's difficult to find out where exactly the problem is.
For instance, I tried to test the new bb_worker, and it failed with my old configuration:
Fatal error: rpc error: code = Unknown desc = Failed to read configuration from ./worker.jsonnet: Failed to unmarshal configuration: proto: (line 11:31): unknown field "address"
The address field exists in many different places in the configuration: scheduler, runners, completed action loggers, shards etc. It was hard to find out where exactly it failed.
Eventually I've found out it was due to a schema change in BlobAccessConfiguration, so I had to fix my shards.backend.grpc configuration. A more detailed error would have saved me a lot of time.
Not sure how easy it would be to implement and if the protojson package even supports it, but I thought I'll throw it in and hope for the best.
When a buildbarn service fails reading some
jsonnetconfiguration file, it's difficult to find out where exactly the problem is.For instance, I tried to test the new
bb_worker, and it failed with my old configuration:The
addressfield exists in many different places in the configuration: scheduler, runners, completed action loggers, shards etc. It was hard to find out where exactly it failed.Eventually I've found out it was due to a schema change in
BlobAccessConfiguration, so I had to fix myshards.backend.grpcconfiguration. A more detailed error would have saved me a lot of time.Not sure how easy it would be to implement and if the
protojsonpackage even supports it, but I thought I'll throw it in and hope for the best.