Merge "Add ccp images list
command"
This commit is contained in:
commit
1edd9bfebe
@ -162,15 +162,19 @@ def connect_children(dockerfiles):
|
|||||||
dockerfile['parent'] = dockerfiles[parent]
|
dockerfile['parent'] = dockerfiles[parent]
|
||||||
|
|
||||||
|
|
||||||
def get_dockerfiles_tree(match=False, config=None):
|
def get_dockerfiles(match=False):
|
||||||
if config is None:
|
|
||||||
config = _get_config()
|
|
||||||
|
|
||||||
dockerfiles = {}
|
dockerfiles = {}
|
||||||
for repository_def in CONF.repositories.repos:
|
for repository_def in CONF.repositories.repos:
|
||||||
dockerfiles.update(
|
dockerfiles.update(
|
||||||
find_dockerfiles(repository_def['name'], match=match))
|
find_dockerfiles(repository_def['name'], match=match))
|
||||||
|
return dockerfiles
|
||||||
|
|
||||||
|
|
||||||
|
def get_dockerfiles_tree(match=False, config=None):
|
||||||
|
if config is None:
|
||||||
|
config = _get_config()
|
||||||
|
|
||||||
|
dockerfiles = get_dockerfiles(match)
|
||||||
render_dockerfiles(dockerfiles, config)
|
render_dockerfiles(dockerfiles, config)
|
||||||
connect_children(dockerfiles)
|
connect_children(dockerfiles)
|
||||||
|
|
||||||
@ -300,7 +304,7 @@ def get_ready_image_names():
|
|||||||
return ready_images
|
return ready_images
|
||||||
|
|
||||||
|
|
||||||
def match_dockerfiles_by_component(dockerfiles, component, ready_images):
|
def match_dockerfiles_by_component(dockerfiles, component, ready_images=()):
|
||||||
pattern = re.compile(re.escape(component))
|
pattern = re.compile(re.escape(component))
|
||||||
matched_dockerfiles = list(filter(pattern.match, dockerfiles.keys()))
|
matched_dockerfiles = list(filter(pattern.match, dockerfiles.keys()))
|
||||||
if matched_dockerfiles:
|
if matched_dockerfiles:
|
||||||
|
@ -205,6 +205,26 @@ class ShowStatus(lister.Lister):
|
|||||||
return status.show_long_status(parsed_args.components)
|
return status.show_long_status(parsed_args.components)
|
||||||
|
|
||||||
|
|
||||||
|
class ImagesList(BaseCommand, lister.Lister):
|
||||||
|
"""Get images mathcing list of components"""
|
||||||
|
|
||||||
|
def get_parser(self, *args, **kwargs):
|
||||||
|
parser = super(ImagesList, self).get_parser(*args, **kwargs)
|
||||||
|
parser.add_argument('components',
|
||||||
|
nargs='*',
|
||||||
|
help='CCP components to get images for')
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
dockerfiles = build.get_dockerfiles(match=not parsed_args.components)
|
||||||
|
for component in parsed_args.components:
|
||||||
|
build.match_dockerfiles_by_component(dockerfiles, component)
|
||||||
|
return (
|
||||||
|
('Name',),
|
||||||
|
((d['name'],) for d in dockerfiles.values() if d['match']),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def signal_handler(signo, frame):
|
def signal_handler(signo, frame):
|
||||||
sys.exit(-signo)
|
sys.exit(-signo)
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@ ccp.cli =
|
|||||||
status = fuel_ccp.cli:ShowStatus
|
status = fuel_ccp.cli:ShowStatus
|
||||||
validate = fuel_ccp.cli:Validate
|
validate = fuel_ccp.cli:Validate
|
||||||
config_dump = fuel_ccp.cli:ConfigDump
|
config_dump = fuel_ccp.cli:ConfigDump
|
||||||
|
images_list = fuel_ccp.cli:ImagesList
|
||||||
|
|
||||||
[build_sphinx]
|
[build_sphinx]
|
||||||
source-dir = doc/source
|
source-dir = doc/source
|
||||||
|
Loading…
Reference in New Issue
Block a user