message: [cluster_test] Ignore ImageExists error when tagging image
  If cluster test fails after deploy and then re-started, it immediately fails to tag image with `ImageAlreadyExists`, if image has not changed since previous start
  We going to ignore this error making `tag_image` function idempotent
diff: use crate::{aws::Aws, cluster::Cluster};
  use failure::prelude::{bail, format_err};
  +use rusoto_core::RusotoError;
  use rusoto_ecr::{
  - BatchGetImageRequest, DescribeImagesRequest, Ecr, ImageIdentifier, PutImageRequest,
  + BatchGetImageRequest, DescribeImagesRequest, Ecr, ImageIdentifier, PutImageError,
  + PutImageRequest,
  };
  use rusoto_ecs::{Ecs, UpdateServiceRequest};
  use std::{env, fs, io::ErrorKind, thread, time::Duration};
  @@ -151,12 +153,17 @@ impl DeploymentManager {
  let mut put_request = PutImageRequest::default();
  put_request.image_manifest = manifest;
  put_request.repository_name = REPOSITORY_NAME.to_string();
  - put_request.image_tag = Some(tag);
  - self.aws
  - .ecr()
  - .put_image(put_request)
  - .sync()
  - .map_err(|e| format_err!("Failed to tag image: {:?}", e))?;
  + put_request.image_tag = Some(tag.clone());
  + let result = self.aws.ecr().put_image(put_request).sync();
  + if let Err(e) = result {
  + if let RusotoError::Service(PutImageError::ImageAlreadyExists(_)) = e {
  + println!("Tagging {} with {}: Image already exist", hash, tag);
  + Ok(())
  + } else {
  + Err(format_err!("Failed to tag image: {:?}", e))
  + }
  + } else {
  Ok(())
  }
  }
  +}
  