code: public static boolean updateImageParentOnAgents(final JenkinsBuildInfoLog log, final String imageTag, final String host, final int buildInfoId) throws IOException, InterruptedException {
          boolean parentUpdated = updateImageParent(log, imageTag, host, buildInfoId);
          List<Node> nodes = Jenkins.getInstance().getNodes();
          for (Node node : nodes) {
              if (node == null || node.getChannel() == null) {
                  continue;
              }
              boolean parentNodeUpdated = node.getChannel().call(new MasterToSlaveCallable<Boolean, IOException>() {
                  public Boolean call() throws IOException {
                      return updateImageParent(log, imageTag, host, buildInfoId);
                  }
              });
              parentUpdated = parentUpdated ? parentUpdated : parentNodeUpdated;
          }
          return parentUpdated;
      }
docs: Updates property of parent id for the image provided.
  Returns false if image was not captured true otherwise.
  
  @param log
  @param imageTag
  @param host
  @param buildInfoId
  @return
  @throws IOException
  @throws InterruptedException