description=
    'Check if docker image based on the same layers as the parent image')
parser.add_argument('-r',
                    dest='repo',
                    type=str,
                    help="Provide specific repository for docker images.")
parser.add_argument("-f",
                    "--force",
                    dest="force",
                    action="store_true",
                    help="Force re-build",
                    default=False)
args = parser.parse_args()
repos = []
if args.repo:
    repos.append(args.repo)
else:
    dir = os.path.dirname(dirname(os.path.abspath(__file__)))
    for file in glob.glob(dir + '/**/*.yaml*'):
        repos.append(os.path.basename(dirname(file)))

for reponame in repos:
    for img in get_docker_images(reponame):
        buildimg = args.force
        if not buildimg:
            inher = img.get('IMAGE_NAME')
            parent = img.get('BASE_IMAGE_NAME')
            buildimg = has_parent_changed(parent, inher, reponame)
        if buildimg:
            create_file(img)
Exemple #2
0
                    dest='dryRun',
                    help="List tags which are ready to be removed.",
                    action="store_true",
                    default=False)
parser.add_argument('-u',
                    '--user',
                    dest='dockerUser',
                    help="Provide Docker Hub username for docker images.",
                    type=str,
                    default='cmssw')
args = parser.parse_args()

for repo in find_repos():
    got_tags = False
    tags = []
    for image in get_docker_images(repo):
        if (not 'DELETE_PATTERN' in image) or (not 'EXPIRES_DAYS' in image):
            continue
        if not got_tags:
            got_tags = True
            ok, tags = get_tags(args.dockerUser + '/' + repo)
            if not ok:
                tags = []
                print('Docker Hub user "%s" does not contain image "%s"' %
                      (args.dockerUser, repo))
                break
        print("Wroking on %s/%s" % (repo, image['IMAGE_TAG']))
        ntags = []
        for tag in tags:
            ntags.append(tag)
            if image['IMAGE_TAG'] not in tag: continue