Project: mesos
Issue MESOS-5779: Allow Docker v1 ImageManifests to be parsed from the output of `docker inspect`
The `docker::spec::v1::ImageManifest` protobuf implements the official v1 image manifest specification found at: https://github.com/docker/docker/blob/master/image/spec/v1.md The field names in this spec are all written in snake_case as are the field names of the JSON representing the image manifest when reading it from disk (for example after performing a `docker save`). As such, the protobuf for ImageManifest also provides these fields in snake_case. Unfortunately, the `docker inspect` command also provides a method of retrieving the JSON for an image manifest, with one major caveat -- it represents all of its top level keys in CamelCase. To allow both representations to be parsed in the same way, we should intercept the incoming JSON from either source (disk or `docker inspect`) and convert it to a canonical snake_case representation.
Story points: 3