docs: def check_tags(my_expnum, ops_set, my_ccds, dry_run=True):
      """
      check the tags for the given expnum/ccd set.
      @param ops:
      @param my_expnum:
      @return:
      """
      tags = storage.get_tags(my_expnum)
      count = 0
      outcount = 0
      fails = []
      for ccd in my_ccds:
        success = True
        count += 1
        for ops in ops_set:
           for fake in ops[0]:
              for my_program in ops[1]:
                 for version in ops[2]:
                      #print my_expnum, fake, my_program, version, ccd
                      key = storage.get_process_tag(fake + my_program, ccd, version)
                      uri = storage.tag_uri(key)
                      if "Failed to get image" in tags.get(uri, "Failed to get image"):
                          #print tags.get(uri, None)
                          fails.append(ccd)
                          success = False
        if success:
           outcount += 1
      sys.stderr.write("{} {} {:5.1f}%\n".format(outcount, count,100* float(outcount)/count))
      #print fails
      return set(fails)