2018-05-12 00:18:21 +00:00
<!DOCTYPE html>
<!-- [if IE 8]><html class="no - js lt - ie9" lang="en" > <![endif] -->
<!-- [if gt IE 8]><! --> < html class = "no-js" lang = "en" > <!-- <![endif] -->
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
2018-09-06 17:37:53 +00:00
< title > composer.cli.compose — Lorax 29.14 documentation< / title >
2018-05-12 00:18:21 +00:00
2018-08-13 23:43:20 +00:00
< link rel = "stylesheet" href = "../../../_static/css/theme.css" type = "text/css" / >
2018-05-12 00:18:21 +00:00
< link rel = "stylesheet" href = "../../../_static/pygments.css" type = "text/css" / >
< link rel = "index" title = "Index" href = "../../../genindex.html" / >
< link rel = "search" title = "Search" href = "../../../search.html" / >
< script src = "../../../_static/js/modernizr.min.js" > < / script >
< / head >
< body class = "wy-body-for-nav" >
< div class = "wy-grid-for-nav" >
< nav data-toggle = "wy-nav-shift" class = "wy-nav-side" >
< div class = "wy-side-scroll" >
< div class = "wy-side-nav-search" >
< a href = "../../../index.html" class = "icon icon-home" > Lorax
< / a >
< div class = "version" >
2018-09-06 17:37:53 +00:00
29.14
2018-05-12 00:18:21 +00:00
< / div >
< div role = "search" >
< form id = "rtd-search-form" class = "wy-form" action = "../../../search.html" method = "get" >
< input type = "text" name = "q" placeholder = "Search docs" / >
< input type = "hidden" name = "check_keywords" value = "yes" / >
< input type = "hidden" name = "area" value = "default" / >
< / form >
< / div >
< / div >
< div class = "wy-menu wy-menu-vertical" data-spy = "affix" role = "navigation" aria-label = "main navigation" >
< ul >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../intro.html" > Introduction to Lorax< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../intro.html#before-lorax" > Before Lorax< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../lorax.html" > Lorax< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../livemedia-creator.html" > livemedia-creator< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../lorax-composer.html" > lorax-composer< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../composer-cli.html" > composer-cli< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../product-images.html" > Product and Updates Images< / a > < / li >
< li class = "toctree-l1" > < a class = "reference internal" href = "../../../modules.html" > src< / a > < / li >
< / ul >
< / div >
< / div >
< / nav >
< section data-toggle = "wy-nav-shift" class = "wy-nav-content-wrap" >
< nav class = "wy-nav-top" aria-label = "top navigation" >
< i data-toggle = "wy-nav-top" class = "fa fa-bars" > < / i >
< a href = "../../../index.html" > Lorax< / a >
< / nav >
< div class = "wy-nav-content" >
< div class = "rst-content" >
< div role = "navigation" aria-label = "breadcrumbs navigation" >
< ul class = "wy-breadcrumbs" >
< li > < a href = "../../../index.html" > Docs< / a > » < / li >
< li > < a href = "../../index.html" > Module code< / a > » < / li >
< li > < a href = "../cli.html" > composer.cli< / a > » < / li >
< li > composer.cli.compose< / li >
< li class = "wy-breadcrumbs-aside" >
< / li >
< / ul >
< hr / >
< / div >
< div role = "main" class = "document" itemscope = "itemscope" itemtype = "http://schema.org/Article" >
< div itemprop = "articleBody" >
< h1 > Source code for composer.cli.compose< / h1 > < div class = "highlight" > < pre >
< span > < / span > < span class = "c1" > #< / span >
< span class = "c1" > # Copyright (C) 2018 Red Hat, Inc.< / span >
< span class = "c1" > #< / span >
< span class = "c1" > # This program is free software; you can redistribute it and/or modify< / span >
< span class = "c1" > # it under the terms of the GNU General Public License as published by< / span >
< span class = "c1" > # the Free Software Foundation; either version 2 of the License, or< / span >
< span class = "c1" > # (at your option) any later version.< / span >
< span class = "c1" > #< / span >
< span class = "c1" > # This program is distributed in the hope that it will be useful,< / span >
< span class = "c1" > # but WITHOUT ANY WARRANTY; without even the implied warranty of< / span >
< span class = "c1" > # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the< / span >
< span class = "c1" > # GNU General Public License for more details.< / span >
< span class = "c1" > #< / span >
< span class = "c1" > # You should have received a copy of the GNU General Public License< / span >
< span class = "c1" > # along with this program. If not, see < http://www.gnu.org/licenses/> .< / span >
< span class = "c1" > #< / span >
< span class = "kn" > import< / span > < span class = "nn" > logging< / span >
< span class = "n" > log< / span > < span class = "o" > =< / span > < span class = "n" > logging< / span > < span class = "o" > .< / span > < span class = "n" > getLogger< / span > < span class = "p" > (< / span > < span class = "s2" > " composer-cli" < / span > < span class = "p" > )< / span >
2018-08-13 23:43:20 +00:00
< span class = "kn" > from< / span > < span class = "nn" > datetime< / span > < span class = "k" > import< / span > < span class = "n" > datetime< / span >
2018-05-12 00:18:21 +00:00
< span class = "kn" > import< / span > < span class = "nn" > sys< / span >
< span class = "kn" > import< / span > < span class = "nn" > json< / span >
< span class = "kn" > from< / span > < span class = "nn" > composer< / span > < span class = "k" > import< / span > < span class = "n" > http_client< / span > < span class = "k" > as< / span > < span class = "n" > client< / span >
2018-07-20 22:51:06 +00:00
< span class = "kn" > from< / span > < span class = "nn" > composer.cli.help< / span > < span class = "k" > import< / span > < span class = "n" > compose_help< / span >
2018-05-12 00:18:21 +00:00
< span class = "kn" > from< / span > < span class = "nn" > composer.cli.utilities< / span > < span class = "k" > import< / span > < span class = "n" > argify< / span > < span class = "p" > ,< / span > < span class = "n" > handle_api_result< / span > < span class = "p" > ,< / span > < span class = "n" > packageNEVRA< / span >
< div class = "viewcode-block" id = "compose_cmd" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_cmd" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_cmd< / span > < span class = "p" > (< / span > < span class = "n" > opts< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Process compose commands< / span >
< span class = "sd" > :param opts: Cmdline arguments< / span >
< span class = "sd" > :type opts: argparse.Namespace< / span >
< span class = "sd" > :returns: Value to return from sys.exit()< / span >
< span class = "sd" > :rtype: int< / span >
< span class = "sd" > This dispatches the compose commands to a function< / span >
< span class = "sd" > " " " < / span >
< span class = "n" > cmd_map< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
2018-08-13 23:43:20 +00:00
< span class = "s2" > " list" < / span > < span class = "p" > :< / span > < span class = "n" > compose_list< / span > < span class = "p" > ,< / span >
2018-05-12 00:18:21 +00:00
< span class = "s2" > " status" < / span > < span class = "p" > :< / span > < span class = "n" > compose_status< / span > < span class = "p" > ,< / span >
< span class = "s2" > " types" < / span > < span class = "p" > :< / span > < span class = "n" > compose_types< / span > < span class = "p" > ,< / span >
< span class = "s2" > " start" < / span > < span class = "p" > :< / span > < span class = "n" > compose_start< / span > < span class = "p" > ,< / span >
< span class = "s2" > " log" < / span > < span class = "p" > :< / span > < span class = "n" > compose_log< / span > < span class = "p" > ,< / span >
< span class = "s2" > " cancel" < / span > < span class = "p" > :< / span > < span class = "n" > compose_cancel< / span > < span class = "p" > ,< / span >
< span class = "s2" > " delete" < / span > < span class = "p" > :< / span > < span class = "n" > compose_delete< / span > < span class = "p" > ,< / span >
< span class = "s2" > " info" < / span > < span class = "p" > :< / span > < span class = "n" > compose_info< / span > < span class = "p" > ,< / span >
< span class = "s2" > " metadata" < / span > < span class = "p" > :< / span > < span class = "n" > compose_metadata< / span > < span class = "p" > ,< / span >
< span class = "s2" > " results" < / span > < span class = "p" > :< / span > < span class = "n" > compose_results< / span > < span class = "p" > ,< / span >
< span class = "s2" > " logs" < / span > < span class = "p" > :< / span > < span class = "n" > compose_logs< / span > < span class = "p" > ,< / span >
< span class = "s2" > " image" < / span > < span class = "p" > :< / span > < span class = "n" > compose_image< / span > < span class = "p" > ,< / span >
< span class = "p" > }< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > if< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > ==< / span > < span class = "s2" > " help" < / span > < span class = "ow" > or< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "o" > ==< / span > < span class = "s2" > " --help" < / span > < span class = "p" > :< / span >
2018-07-20 22:51:06 +00:00
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > compose_help< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
< span class = "k" > elif< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > cmd_map< / span > < span class = "p" > :< / span >
2018-05-12 00:18:21 +00:00
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " Unknown compose command: < / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "p" > ,< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ])< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > cmd_map< / span > < span class = "p" > [< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ]](< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > socket< / span > < span class = "p" > ,< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 2< / span > < span class = "p" > :],< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > json< / span > < span class = "p" > ,< / span > < span class = "n" > opts< / span > < span class = "o" > .< / span > < span class = "n" > testmode< / span > < span class = "p" > )< / span > < / div >
2018-08-13 23:43:20 +00:00
< div class = "viewcode-block" id = "compose_list" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_list" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_list< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Return a simple list of compose identifiers" " " < / span >
< span class = "n" > states< / span > < span class = "o" > =< / span > < span class = "p" > (< / span > < span class = "s2" > " running" < / span > < span class = "p" > ,< / span > < span class = "s2" > " waiting" < / span > < span class = "p" > ,< / span > < span class = "s2" > " finished" < / span > < span class = "p" > ,< / span > < span class = "s2" > " failed" < / span > < span class = "p" > )< / span >
< span class = "n" > which< / span > < span class = "o" > =< / span > < span class = "nb" > set< / span > < span class = "p" > ()< / span >
< span class = "k" > if< / span > < span class = "nb" > any< / span > < span class = "p" > (< / span > < span class = "n" > a< / span > < span class = "ow" > not< / span > < span class = "ow" > in< / span > < span class = "n" > states< / span > < span class = "k" > for< / span > < span class = "n" > a< / span > < span class = "ow" > in< / span > < span class = "n" > args< / span > < span class = "p" > ):< / span >
< span class = "c1" > # TODO: error about unknown state< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "k" > elif< / span > < span class = "ow" > not< / span > < span class = "n" > args< / span > < span class = "p" > :< / span >
< span class = "n" > which< / span > < span class = "o" > .< / span > < span class = "n" > update< / span > < span class = "p" > (< / span > < span class = "n" > states< / span > < span class = "p" > )< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > which< / span > < span class = "o" > .< / span > < span class = "n" > update< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span >
< span class = "n" > results< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "k" > if< / span > < span class = "s2" > " running" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "ow" > or< / span > < span class = "s2" > " waiting" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "p" > :< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/queue" < / span > < span class = "p" > )< / span >
< span class = "n" > r< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "s2" > " running" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "p" > :< / span >
< span class = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s2" > " run" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "s2" > " waiting" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "p" > :< / span >
< span class = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s2" > " new" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "s2" > " finished" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "p" > :< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/finished" < / span > < span class = "p" > )< / span >
< span class = "n" > r< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s2" > " finished" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "s2" > " failed" < / span > < span class = "ow" > in< / span > < span class = "n" > which< / span > < span class = "p" > :< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/failed" < / span > < span class = "p" > )< / span >
< span class = "n" > r< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "n" > results< / span > < span class = "o" > +=< / span > < span class = "n" > r< / span > < span class = "p" > [< / span > < span class = "s2" > " failed" < / span > < span class = "p" > ]< / span >
< span class = "k" > if< / span > < span class = "n" > results< / span > < span class = "p" > :< / span >
< span class = "k" > if< / span > < span class = "n" > show_json< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > json< / span > < span class = "o" > .< / span > < span class = "n" > dumps< / span > < span class = "p" > (< / span > < span class = "n" > results< / span > < span class = "p" > ,< / span > < span class = "n" > indent< / span > < span class = "o" > =< / span > < span class = "mi" > 4< / span > < span class = "p" > ))< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > list_fmt< / span > < span class = "o" > =< / span > < span class = "s2" > " < / span > < span class = "si" > {id}< / span > < span class = "s2" > < / span > < span class = "si" > {queue_status}< / span > < span class = "s2" > < / span > < span class = "si" > {blueprint}< / span > < span class = "s2" > < / span > < span class = "si" > {version}< / span > < span class = "s2" > < / span > < span class = "si" > {compose_type}< / span > < span class = "s2" > " < / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > list_fmt< / span > < span class = "o" > .< / span > < span class = "n" > format< / span > < span class = "p" > (< / span > < span class = "o" > **< / span > < span class = "n" > c< / span > < span class = "p" > )< / span > < span class = "k" > for< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "n" > results< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_status" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_status" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_status< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Return the status of all known composes< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > This doesn' t map directly to an API command, it combines the results from queue, finished,< / span >
< span class = "sd" > and failed so raw JSON output is not available.< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > def< / span > < span class = "nf" > get_status< / span > < span class = "p" > (< / span > < span class = "n" > compose< / span > < span class = "p" > ):< / span >
< span class = "k" > return< / span > < span class = "p" > {< / span > < span class = "s2" > " id" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s2" > " id" < / span > < span class = "p" > ],< / span >
< span class = "s2" > " blueprint" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s2" > " blueprint" < / span > < span class = "p" > ],< / span >
< span class = "s2" > " version" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s2" > " version" < / span > < span class = "p" > ],< / span >
< span class = "s2" > " compose_type" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s2" > " compose_type" < / span > < span class = "p" > ],< / span >
< span class = "s2" > " image_size" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s2" > " image_size" < / span > < span class = "p" > ],< / span >
2018-08-13 23:43:20 +00:00
< span class = "s2" > " status" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "p" > [< / span > < span class = "s2" > " queue_status" < / span > < span class = "p" > ],< / span >
< span class = "s2" > " created" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " job_created" < / span > < span class = "p" > ),< / span >
< span class = "s2" > " started" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " job_started" < / span > < span class = "p" > ),< / span >
< span class = "s2" > " finished" < / span > < span class = "p" > :< / span > < span class = "n" > compose< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " job_finished" < / span > < span class = "p" > )}< / span >
2018-05-12 00:18:21 +00:00
< span class = "c1" > # Sort the status in a specific order< / span >
< span class = "k" > def< / span > < span class = "nf" > sort_status< / span > < span class = "p" > (< / span > < span class = "n" > a< / span > < span class = "p" > ):< / span >
< span class = "n" > order< / span > < span class = "o" > =< / span > < span class = "p" > [< / span > < span class = "s2" > " RUNNING" < / span > < span class = "p" > ,< / span > < span class = "s2" > " WAITING" < / span > < span class = "p" > ,< / span > < span class = "s2" > " FINISHED" < / span > < span class = "p" > ,< / span > < span class = "s2" > " FAILED" < / span > < span class = "p" > ]< / span >
< span class = "k" > return< / span > < span class = "p" > (< / span > < span class = "n" > order< / span > < span class = "o" > .< / span > < span class = "n" > index< / span > < span class = "p" > (< / span > < span class = "n" > a< / span > < span class = "p" > [< / span > < span class = "s2" > " status" < / span > < span class = "p" > ]),< / span > < span class = "n" > a< / span > < span class = "p" > [< / span > < span class = "s2" > " blueprint" < / span > < span class = "p" > ],< / span > < span class = "n" > a< / span > < span class = "p" > [< / span > < span class = "s2" > " version" < / span > < span class = "p" > ],< / span > < span class = "n" > a< / span > < span class = "p" > [< / span > < span class = "s2" > " compose_type" < / span > < span class = "p" > ])< / span >
< span class = "n" > status< / span > < span class = "o" > =< / span > < span class = "p" > []< / span >
< span class = "c1" > # Get the composes currently in the queue< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/queue" < / span > < span class = "p" > )< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "nb" > map< / span > < span class = "p" > (< / span > < span class = "n" > get_status< / span > < span class = "p" > ,< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " run" < / span > < span class = "p" > ]< / span > < span class = "o" > +< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " new" < / span > < span class = "p" > ])))< / span >
< span class = "c1" > # Get the list of finished composes< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/finished" < / span > < span class = "p" > )< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "nb" > map< / span > < span class = "p" > (< / span > < span class = "n" > get_status< / span > < span class = "p" > ,< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " finished" < / span > < span class = "p" > ])))< / span >
< span class = "c1" > # Get the list of failed composes< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/failed" < / span > < span class = "p" > )< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > extend< / span > < span class = "p" > (< / span > < span class = "nb" > list< / span > < span class = "p" > (< / span > < span class = "nb" > map< / span > < span class = "p" > (< / span > < span class = "n" > get_status< / span > < span class = "p" > ,< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " failed" < / span > < span class = "p" > ])))< / span >
< span class = "c1" > # Sort them by status (running, waiting, finished, failed) and then by name and version.< / span >
< span class = "n" > status< / span > < span class = "o" > .< / span > < span class = "n" > sort< / span > < span class = "p" > (< / span > < span class = "n" > key< / span > < span class = "o" > =< / span > < span class = "n" > sort_status< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > show_json< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > json< / span > < span class = "o" > .< / span > < span class = "n" > dumps< / span > < span class = "p" > (< / span > < span class = "n" > status< / span > < span class = "p" > ,< / span > < span class = "n" > indent< / span > < span class = "o" > =< / span > < span class = "mi" > 4< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
< span class = "c1" > # Print them as UUID blueprint STATUS< / span >
< span class = "k" > for< / span > < span class = "n" > c< / span > < span class = "ow" > in< / span > < span class = "n" > status< / span > < span class = "p" > :< / span >
< span class = "k" > if< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s2" > " image_size" < / span > < span class = "p" > ]< / span > < span class = "o" > > < / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > image_size< / span > < span class = "o" > =< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s2" > " image_size" < / span > < span class = "p" > ])< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > image_size< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
2018-08-13 23:43:20 +00:00
< span class = "n" > dt< / span > < span class = "o" > =< / span > < span class = "n" > datetime< / span > < span class = "o" > .< / span > < span class = "n" > fromtimestamp< / span > < span class = "p" > (< / span > < span class = "n" > c< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " finished" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "n" > c< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " started" < / span > < span class = "p" > )< / span > < span class = "ow" > or< / span > < span class = "n" > c< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " created" < / span > < span class = "p" > ))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > < / span > < span class = "si" > %-8s< / span > < span class = "s2" > < / span > < span class = "si" > %s< / span > < span class = "s2" > < / span > < span class = "si" > %-15s< / span > < span class = "s2" > < / span > < span class = "si" > %s< / span > < span class = "s2" > < / span > < span class = "si" > %-16s< / span > < span class = "s2" > < / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s2" > " id" < / span > < span class = "p" > ],< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s2" > " status" < / span > < span class = "p" > ],< / span > < span class = "n" > dt< / span > < span class = "o" > .< / span > < span class = "n" > strftime< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "si" > %c< / span > < span class = "s2" > " < / span > < span class = "p" > ),< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s2" > " blueprint" < / span > < span class = "p" > ],< / span >
< span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s2" > " version" < / span > < span class = "p" > ],< / span > < span class = "n" > c< / span > < span class = "p" > [< / span > < span class = "s2" > " compose_type" < / span > < span class = "p" > ],< / span > < span class = "n" > image_size< / span > < span class = "p" > ))< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_types" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_types" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_types< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Return information about the supported compose types< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > Add additional details to types that are known to composer-cli. Raw JSON output does not< / span >
< span class = "sd" > include this extra information.< / span >
< span class = "sd" > " " " < / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/types" < / span > < span class = "p" > )< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > show_json< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > json< / span > < span class = "o" > .< / span > < span class = "n" > dumps< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > ,< / span > < span class = "n" > indent< / span > < span class = "o" > =< / span > < span class = "mi" > 4< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span >
2018-08-13 23:43:20 +00:00
< span class = "c1" > # output a plain list of identifiers, one per line< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "se" > \n< / span > < span class = "s2" > " < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > t< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ]< / span > < span class = "k" > for< / span > < span class = "n" > t< / span > < span class = "ow" > in< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " types" < / span > < span class = "p" > ]))< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_start" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_start" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_start< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Start a new compose using the selected blueprint and type< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: Set to 1 to simulate a failed compose, set to 2 to simulate a finished one.< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose start < blueprint-name> < compose-type> < / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " start is missing the blueprint name and output type" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " start is missing the output type" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > config< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< span class = "s2" > " blueprint_name" < / span > < span class = "p" > :< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span >
< span class = "s2" > " compose_type" < / span > < span class = "p" > :< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ],< / span >
< span class = "s2" > " branch" < / span > < span class = "p" > :< / span > < span class = "s2" > " master" < / span >
< span class = "p" > }< / span >
< span class = "k" > if< / span > < span class = "n" > testmode< / span > < span class = "p" > :< / span >
< span class = "n" > test_url< / span > < span class = "o" > =< / span > < span class = "s2" > " ?test=< / span > < span class = "si" > %d< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "n" > testmode< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > test_url< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose" < / span > < span class = "o" > +< / span > < span class = "n" > test_url< / span > < span class = "p" > )< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > post_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > ,< / span > < span class = "n" > json< / span > < span class = "o" > .< / span > < span class = "n" > dumps< / span > < span class = "p" > (< / span > < span class = "n" > config< / span > < span class = "p" > ))< / span >
2018-08-13 23:43:20 +00:00
< span class = "p" > (< / span > < span class = "n" > rc< / span > < span class = "p" > ,< / span > < span class = "n" > exit_now< / span > < span class = "p" > )< / span > < span class = "o" > =< / span > < span class = "n" > handle_api_result< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > exit_now< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-05-12 00:18:21 +00:00
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Compose < / span > < span class = "si" > %s< / span > < span class = "s2" > added to the queue" < / span > < span class = "o" > %< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " build_id" < / span > < span class = "p" > ])< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > return< / span > < span class = "n" > rc< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_log" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_log" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_log< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Show the last part of the compose log< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose log < uuid> [< size> kB]< / span >
< span class = "sd" > This will display the last 1kB of the compose' s log file. Can be used to follow progress< / span >
< span class = "sd" > during the build.< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " log is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 2< / span > < span class = "p" > :< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > log_size< / span > < span class = "o" > =< / span > < span class = "nb" > int< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 1< / span > < span class = "p" > ])< / span >
< span class = "k" > except< / span > < span class = "ne" > ValueError< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " Log size must be an integer." < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > log_size< / span > < span class = "o" > =< / span > < span class = "mi" > 1024< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/log/< / span > < span class = "si" > %s< / span > < span class = "s2" > ?size=< / span > < span class = "si" > %d< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ],< / span > < span class = "n" > log_size< / span > < span class = "p" > ))< / span >
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_raw< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "k" > except< / span > < span class = "ne" > RuntimeError< / span > < span class = "k" > as< / span > < span class = "n" > e< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 0< / span > < / div >
< div class = "viewcode-block" id = "compose_cancel" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_cancel" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_cancel< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Cancel a running compose< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose cancel < uuid> < / span >
< span class = "sd" > This will cancel a running compose. It does nothing if the compose has finished.< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " cancel is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/cancel/< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > delete_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > return< / span > < span class = "n" > handle_api_result< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "p" > )[< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_delete" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_delete" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_delete< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Delete a finished compose' s results< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose delete < uuid,...> < / span >
< span class = "sd" > Delete the listed compose results. It will only delete results for composes that have finished< / span >
< span class = "sd" > or failed, not a running compose.< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " delete is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/delete/< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "s2" > " ," < / span > < span class = "o" > .< / span > < span class = "n" > join< / span > < span class = "p" > (< / span > < span class = "n" > argify< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ))))< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > delete_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > return< / span > < span class = "n" > handle_api_result< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "p" > )[< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_info" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_info" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_info< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Return detailed information about the compose< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose info < uuid> < / span >
< span class = "sd" > This returns information about the compose, including the blueprint and the dependencies.< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " info is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/info/< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
< span class = "n" > result< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > get_url_json< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
2018-08-13 23:43:20 +00:00
< span class = "p" > (< / span > < span class = "n" > rc< / span > < span class = "p" > ,< / span > < span class = "n" > exit_now< / span > < span class = "p" > )< / span > < span class = "o" > =< / span > < span class = "n" > handle_api_result< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "p" > )< / span >
< span class = "k" > if< / span > < span class = "n" > exit_now< / span > < span class = "p" > :< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span >
2018-05-12 00:18:21 +00:00
< span class = "k" > if< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " image_size" < / span > < span class = "p" > ]< / span > < span class = "o" > > < / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > image_size< / span > < span class = "o" > =< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " image_size" < / span > < span class = "p" > ])< / span >
< span class = "k" > else< / span > < span class = "p" > :< / span >
< span class = "n" > image_size< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > < / span > < span class = "si" > %-8s< / span > < span class = "s2" > < / span > < span class = "si" > %-15s< / span > < span class = "s2" > < / span > < span class = "si" > %s< / span > < span class = "s2" > < / span > < span class = "si" > %-16s< / span > < span class = "s2" > < / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " id" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " queue_status" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s2" > " version" < / span > < span class = "p" > ],< / span >
< span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " compose_type" < / span > < span class = "p" > ],< / span >
< span class = "n" > image_size< / span > < span class = "p" > ))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Packages:" < / span > < span class = "p" > )< / span >
< span class = "k" > for< / span > < span class = "n" > p< / span > < span class = "ow" > in< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s2" > " packages" < / span > < span class = "p" > ]:< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > -< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > p< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > p< / span > < span class = "p" > [< / span > < span class = "s2" > " version" < / span > < span class = "p" > ]))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Modules:" < / span > < span class = "p" > )< / span >
< span class = "k" > for< / span > < span class = "n" > m< / span > < span class = "ow" > in< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " blueprint" < / span > < span class = "p" > ][< / span > < span class = "s2" > " modules" < / span > < span class = "p" > ]:< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " < / span > < span class = "si" > %s< / span > < span class = "s2" > -< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "p" > (< / span > < span class = "n" > m< / span > < span class = "p" > [< / span > < span class = "s2" > " name" < / span > < span class = "p" > ],< / span > < span class = "n" > m< / span > < span class = "p" > [< / span > < span class = "s2" > " version" < / span > < span class = "p" > ]))< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " Dependencies:" < / span > < span class = "p" > )< / span >
< span class = "k" > for< / span > < span class = "n" > d< / span > < span class = "ow" > in< / span > < span class = "n" > result< / span > < span class = "p" > [< / span > < span class = "s2" > " deps" < / span > < span class = "p" > ][< / span > < span class = "s2" > " packages" < / span > < span class = "p" > ]:< / span >
2018-08-13 23:43:20 +00:00
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "s2" > " " < / span > < span class = "o" > +< / span > < span class = "n" > packageNEVRA< / span > < span class = "p" > (< / span > < span class = "n" > d< / span > < span class = "p" > ))< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_metadata" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_metadata" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_metadata< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Download a tar file of the compose' s metadata< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose metadata < uuid> < / span >
< span class = "sd" > Saves the metadata as uuid-metadata.tar< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " metadata is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/metadata/< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > )< / span >
< span class = "k" > except< / span > < span class = "ne" > RuntimeError< / span > < span class = "k" > as< / span > < span class = "n" > e< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ))< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_results" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_results" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_results< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Download a tar file of the compose' s results< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose results < uuid> < / span >
< span class = "sd" > The results includes the metadata, output image, and logs.< / span >
< span class = "sd" > It is saved as uuid.tar< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " results is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/results/< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > ,< / span > < span class = "n" > sys< / span > < span class = "o" > .< / span > < span class = "n" > stdout< / span > < span class = "o" > .< / span > < span class = "n" > isatty< / span > < span class = "p" > ())< / span >
< span class = "k" > except< / span > < span class = "ne" > RuntimeError< / span > < span class = "k" > as< / span > < span class = "n" > e< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ))< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_logs" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_logs" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_logs< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Download a tar of the compose' s logs< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose logs < uuid> < / span >
< span class = "sd" > Saves the logs as uuid-logs.tar< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " logs is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/logs/< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > ,< / span > < span class = "n" > sys< / span > < span class = "o" > .< / span > < span class = "n" > stdout< / span > < span class = "o" > .< / span > < span class = "n" > isatty< / span > < span class = "p" > ())< / span >
< span class = "k" > except< / span > < span class = "ne" > RuntimeError< / span > < span class = "k" > as< / span > < span class = "n" > e< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ))< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span > < / div >
2018-05-12 00:18:21 +00:00
< div class = "viewcode-block" id = "compose_image" > < a class = "viewcode-back" href = "../../../composer.cli.html#composer.cli.compose.compose_image" > [docs]< / a > < span class = "k" > def< / span > < span class = "nf" > compose_image< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "n" > show_json< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span > < span class = "n" > testmode< / span > < span class = "o" > =< / span > < span class = "mi" > 0< / span > < span class = "p" > ):< / span >
< span class = "sd" > " " " Download the compose' s output image< / span >
< span class = "sd" > :param socket_path: Path to the Unix socket to use for API communication< / span >
< span class = "sd" > :type socket_path: str< / span >
< span class = "sd" > :param api_version: Version of the API to talk to. eg. " 0" < / span >
< span class = "sd" > :type api_version: str< / span >
< span class = "sd" > :param args: List of remaining arguments from the cmdline< / span >
< span class = "sd" > :type args: list of str< / span >
< span class = "sd" > :param show_json: Set to True to show the JSON output instead of the human readable output< / span >
< span class = "sd" > :type show_json: bool< / span >
< span class = "sd" > :param testmode: unused in this function< / span >
< span class = "sd" > :type testmode: int< / span >
< span class = "sd" > compose image < uuid> < / span >
< span class = "sd" > This downloads only the result image, saving it as the image name, which depends on the type< / span >
< span class = "sd" > of compose that was selected.< / span >
< span class = "sd" > " " " < / span >
< span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 0< / span > < span class = "p" > :< / span >
< span class = "n" > log< / span > < span class = "o" > .< / span > < span class = "n" > error< / span > < span class = "p" > (< / span > < span class = "s2" > " logs is missing the compose build id" < / span > < span class = "p" > )< / span >
< span class = "k" > return< / span > < span class = "mi" > 1< / span >
< span class = "n" > api_route< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > api_url< / span > < span class = "p" > (< / span > < span class = "n" > api_version< / span > < span class = "p" > ,< / span > < span class = "s2" > " /compose/image/< / span > < span class = "si" > %s< / span > < span class = "s2" > " < / span > < span class = "o" > %< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "mi" > 0< / span > < span class = "p" > ])< / span >
2018-08-13 23:43:20 +00:00
< span class = "k" > try< / span > < span class = "p" > :< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "n" > client< / span > < span class = "o" > .< / span > < span class = "n" > download_file< / span > < span class = "p" > (< / span > < span class = "n" > socket_path< / span > < span class = "p" > ,< / span > < span class = "n" > api_route< / span > < span class = "p" > ,< / span > < span class = "n" > sys< / span > < span class = "o" > .< / span > < span class = "n" > stdout< / span > < span class = "o" > .< / span > < span class = "n" > isatty< / span > < span class = "p" > ())< / span >
< span class = "k" > except< / span > < span class = "ne" > RuntimeError< / span > < span class = "k" > as< / span > < span class = "n" > e< / span > < span class = "p" > :< / span >
< span class = "nb" > print< / span > < span class = "p" > (< / span > < span class = "nb" > str< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ))< / span >
< span class = "n" > rc< / span > < span class = "o" > =< / span > < span class = "mi" > 1< / span >
< span class = "k" > return< / span > < span class = "n" > rc< / span > < / div >
2018-05-12 00:18:21 +00:00
< / pre > < / div >
< / div >
< / div >
< footer >
< hr / >
< div role = "contentinfo" >
< p >
© Copyright 2018, Red Hat, Inc..
< / p >
< / div >
Built with < a href = "http://sphinx-doc.org/" > Sphinx< / a > using a < a href = "https://github.com/rtfd/sphinx_rtd_theme" > theme< / a > provided by < a href = "https://readthedocs.org" > Read the Docs< / a > .
< / footer >
< / div >
< / div >
< / section >
< / div >
< script type = "text/javascript" >
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../../',
2018-09-06 17:37:53 +00:00
VERSION:'29.14',
2018-05-12 00:18:21 +00:00
LANGUAGE:'None',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
< / script >
< script type = "text/javascript" src = "../../../_static/jquery.js" > < / script >
< script type = "text/javascript" src = "../../../_static/underscore.js" > < / script >
< script type = "text/javascript" src = "../../../_static/doctools.js" > < / script >
2018-08-13 23:43:20 +00:00
< script type = "text/javascript" src = "../../../_static/js/theme.js" > < / script >
2018-05-12 00:18:21 +00:00
< script type = "text/javascript" >
jQuery(function () {
2018-06-04 23:27:56 +00:00
SphinxRtdTheme.Navigation.enable(true);
2018-05-12 00:18:21 +00:00
});
< / script >
< / body >
< / html >