tree a803f48ecd412e6a357fe940376cd5f33e501c30
parent a373efd1041ec79af4407281b210ab83170bba4e
author Jeff Johnston <jjohnstn@redhat.com> 1492721008 -0400
committer Jeff Johnston <jjohnstn@redhat.com> 1492721608 -0400

Fix missing output when running Container commands

- change ContainerCommandProcess destroy() to delay before closing
  the piped std streams to allow output to complete
- also flush the piped streams at the end of the attach thread and
  stop the logging thread after waiting for container completion
- add getImageByTag() method to DockerConnection
- when copying volumes from image in ContainerLauncher,
  keep track of which directories are copied and don't bother if
  they already recorded in a static map for the connection and
  image which we serialize to a file upon exit
- add new getCopiedVolumes() method to ContainerLauncher to get
  the volumes that have been copied for an image
- also keep track of the image id and store in a file so that
  if the image id changes for the repo tag, assume that previous
  copying is null and void and copy all headers again
- don't cause an error if an exception occurs copying as we might
  be attempting to copy a local include path that doesn't exist
  in the image so just ignore it and move to next path to copy  
- fix uses of Objects.toStringHelper to instead use
  MoreObjects.toStringHelper (ImageSearchResultV1,
  ImageSearchResultV2, and RepositoryTag classes)

Change-Id: Ib01ff56d92c50fb7cebf32ce0d277f32ee825fba
