update docs

Jira-Issue: None
This commit is contained in:
Steve Noyes 2016-06-09 15:54:01 -04:00
parent 5263b89523
commit aa3b2fe20e
45 changed files with 1047 additions and 783 deletions

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Overview: module code &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>Overview: module code &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../index.html" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -65,13 +65,18 @@
<li><a href="kollacli/commands/service.html">kollacli.commands.service</a></li>
<li><a href="kollacli/commands/support.html">kollacli.commands.support</a></li>
<li><a href="kollacli/commands/upgrade.html">kollacli.commands.upgrade</a></li>
<li><a href="kollacli/common/allinone.html">kollacli.common.allinone</a></li>
<li><a href="kollacli/common/ansible/actions.html">kollacli.common.ansible.actions</a></li>
<li><a href="kollacli/common/ansible/job.html">kollacli.common.ansible.job</a></li>
<li><a href="kollacli/common/ansible/playbook.html">kollacli.common.ansible.playbook</a></li>
<li><a href="kollacli/common/host.html">kollacli.common.host</a></li>
<li><a href="kollacli/common/host_group.html">kollacli.common.host_group</a></li>
<li><a href="kollacli/common/inventory.html">kollacli.common.inventory</a></li>
<li><a href="kollacli/common/passwords.html">kollacli.common.passwords</a></li>
<li><a href="kollacli/common/properties.html">kollacli.common.properties</a></li>
<li><a href="kollacli/common/service.html">kollacli.common.service</a></li>
<li><a href="kollacli/common/sshutils.html">kollacli.common.sshutils</a></li>
<li><a href="kollacli/common/subservice.html">kollacli.common.subservice</a></li>
<li><a href="kollacli/common/support.html">kollacli.common.support</a></li>
<li><a href="kollacli/common/utils.html">kollacli.common.utils</a></li>
<li><a href="kollacli/shell.html">kollacli.shell</a></li>
@ -108,7 +113,7 @@
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.async &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.async &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -202,7 +202,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.client &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.client &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -76,11 +76,14 @@
<span class="kn">from</span> <span class="nn">kollacli.api.properties</span> <span class="kn">import</span> <span class="n">PropertyApi</span>
<span class="kn">from</span> <span class="nn">kollacli.api.service</span> <span class="kn">import</span> <span class="n">ServiceApi</span>
<span class="kn">from</span> <span class="nn">kollacli.api.support</span> <span class="kn">import</span> <span class="n">SupportApi</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_log_level</span>
<span class="n">CONSOLE_MESSAGE_FORMAT</span> <span class="o">=</span> <span class="s">&#39;</span><span class="si">%(message)s</span><span class="s">&#39;</span>
<span class="n">LOG_FILE_MESSAGE_FORMAT</span> <span class="o">=</span> \
<span class="s">&#39;[</span><span class="si">%(asctime)s</span><span class="s">] </span><span class="si">%(levelname)-8s</span><span class="s"> </span><span class="si">%(name)s</span><span class="s"> </span><span class="si">%(message)s</span><span class="s">&#39;</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="n">__name__</span><span class="p">)</span>
<span class="n">LOG</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">VERSION</span> <span class="o">=</span> <span class="s">&#39;1.0&#39;</span>
<div class="viewcode-block" id="ClientApi"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.client.ClientApi">[docs]</a><span class="k">class</span> <span class="nc">ClientApi</span><span class="p">(</span>
@ -97,6 +100,9 @@
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_configure_logging</span><span class="p">()</span>
<div class="viewcode-block" id="ClientApi.get_version"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.client.ClientApi.get_version">[docs]</a> <span class="k">def</span> <span class="nf">get_version</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="n">VERSION</span>
</div>
<div class="viewcode-block" id="ClientApi.base_call"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.client.ClientApi.base_call">[docs]</a> <span class="k">def</span> <span class="nf">base_call</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&#39;base call&#39;</span><span class="p">)</span>
</div>
@ -118,6 +124,7 @@
<span class="n">root_logger</span><span class="o">.</span><span class="n">removeHandler</span><span class="p">(</span><span class="n">console</span><span class="p">)</span>
</div>
<span class="k">def</span> <span class="nf">_configure_logging</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">global</span> <span class="n">LOG</span>
<span class="n">root_logger</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="s">&#39;&#39;</span><span class="p">)</span>
<span class="n">root_logger</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">DEBUG</span><span class="p">)</span>
@ -135,6 +142,7 @@
<span class="s">&#39;var&#39;</span><span class="p">,</span> <span class="s">&#39;log&#39;</span><span class="p">,</span> <span class="s">&#39;kolla&#39;</span><span class="p">,</span> <span class="s">&#39;kolla.log&#39;</span><span class="p">),</span>
<span class="n">maxBytes</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_get_kolla_log_file_size</span><span class="p">(),</span>
<span class="n">backupCount</span><span class="o">=</span><span class="mi">4</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">IOError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="c"># most likely the caller is not part of the kolla group</span>
<span class="k">raise</span> <span class="ne">IOError</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Permission denied to run the kolla client.&#39;</span>
@ -144,8 +152,9 @@
<span class="n">formatter</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">Formatter</span><span class="p">(</span><span class="n">LOG_FILE_MESSAGE_FORMAT</span><span class="p">)</span>
<span class="n">rotate_handler</span><span class="o">.</span><span class="n">setFormatter</span><span class="p">(</span><span class="n">formatter</span><span class="p">)</span>
<span class="n">rotate_handler</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">logging</span><span class="o">.</span><span class="n">INFO</span><span class="p">)</span>
<span class="n">rotate_handler</span><span class="o">.</span><span class="n">setLevel</span><span class="p">(</span><span class="n">get_log_level</span><span class="p">())</span>
<span class="n">root_logger</span><span class="o">.</span><span class="n">addHandler</span><span class="p">(</span><span class="n">rotate_handler</span><span class="p">)</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="n">__name__</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">_get_kolla_log_file_size</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">envvar</span> <span class="o">=</span> <span class="s">&#39;KOLLA_LOG_FILE_SIZE&#39;</span>
@ -153,9 +162,6 @@
<span class="k">try</span><span class="p">:</span>
<span class="n">size</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">size_str</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">Exception</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="s">&#39;Environmental variable ({env_var}) is not an &#39;</span>
<span class="s">&#39;integer ({log_size}).&#39;</span><span class="p">)</span>
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">env_var</span><span class="o">=</span><span class="n">envvar</span><span class="p">,</span> <span class="n">log_size</span><span class="o">=</span><span class="n">size_str</span><span class="p">))</span>
<span class="n">size</span> <span class="o">=</span> <span class="mi">50000</span>
<span class="k">return</span> <span class="n">size</span></div>
</pre></div>
@ -191,7 +197,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.deploy &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.deploy &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -79,6 +79,9 @@
<span class="sd"> that the openstack deployment will be to the local host.</span>
<span class="sd"> Remote means that the deployment is executed via ssh.</span>
<span class="sd"> NOTE: local mode is not supported and should never be used</span>
<span class="sd"> in production environments.</span>
<span class="sd"> :param remote_mode: if remote mode is True deployment is done via ssh</span>
<span class="sd"> :type remote_mode: bool</span>
<span class="sd"> &quot;&quot;&quot;</span>
@ -119,7 +122,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.exceptions &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.exceptions &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -160,7 +160,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.group &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.group &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -97,7 +97,6 @@
<span class="sd"> :param servicename: name of the service to add to the group</span>
<span class="sd"> :type servicename: string</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">check_arg</span><span class="p">(</span><span class="n">servicename</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Service name&#39;</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
<span class="n">servicename</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
@ -109,6 +108,7 @@
<span class="k">if</span> <span class="n">servicename</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_servicenames</span><span class="p">:</span>
<span class="c"># service not associated with group, add it</span>
<span class="n">inventory</span><span class="o">.</span><span class="n">add_group_to_service</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">servicename</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_servicenames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="n">Inventory</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">inventory</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="GroupApi.Group.remove_service"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.group.GroupApi.Group.remove_service">[docs]</a> <span class="k">def</span> <span class="nf">remove_service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">servicename</span><span class="p">):</span>
@ -128,6 +128,7 @@
<span class="k">if</span> <span class="n">servicename</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_servicenames</span><span class="p">:</span>
<span class="c"># service is associated with group, remove it</span>
<span class="n">inventory</span><span class="o">.</span><span class="n">remove_group_from_service</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">servicename</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_servicenames</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="n">Inventory</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">inventory</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="GroupApi.Group.get_hosts"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.group.GroupApi.Group.get_hosts">[docs]</a> <span class="k">def</span> <span class="nf">get_hosts</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@ -155,6 +156,7 @@
<span class="k">if</span> <span class="n">hostname</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hostnames</span><span class="p">:</span>
<span class="c"># host not associated with group, add it</span>
<span class="n">inventory</span><span class="o">.</span><span class="n">add_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_hostnames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
<span class="n">Inventory</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">inventory</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="GroupApi.Group.remove_host"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.group.GroupApi.Group.remove_host">[docs]</a> <span class="k">def</span> <span class="nf">remove_host</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hostname</span><span class="p">):</span>
@ -174,6 +176,7 @@
<span class="k">if</span> <span class="n">hostname</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hostnames</span><span class="p">:</span>
<span class="c"># host is associated with group, remove it</span>
<span class="n">inventory</span><span class="o">.</span><span class="n">remove_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_hostnames</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
<span class="n">Inventory</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">inventory</span><span class="p">)</span>
</div></div>
<div class="viewcode-block" id="GroupApi.group_add"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.group.GroupApi.group_add">[docs]</a> <span class="k">def</span> <span class="nf">group_add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">groupnames</span><span class="p">):</span>
@ -196,7 +199,6 @@
<span class="sd"> :param groupnames: names of the groups to remove from the inventory</span>
<span class="sd"> :type groupnames: list of strings</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">check_arg</span><span class="p">(</span><span class="n">groupnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Group names&#39;</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
<span class="n">groupnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">groupnames</span><span class="p">)</span>
@ -229,17 +231,18 @@
<span class="k">def</span> <span class="nf">_get_groups</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">groupnames</span><span class="p">,</span> <span class="n">get_all</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="n">groups</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
<span class="k">if</span> <span class="n">groupnames</span><span class="p">:</span>
<span class="k">if</span> <span class="n">get_all</span><span class="p">:</span>
<span class="n">groupnames</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">inventory</span><span class="o">.</span><span class="n">validate_groupnames</span><span class="p">(</span><span class="n">groupnames</span><span class="p">)</span>
<span class="n">group_services</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_group_services</span><span class="p">()</span>
<span class="n">inv_groups</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_groups</span><span class="p">()</span>
<span class="k">for</span> <span class="n">inv_group</span> <span class="ow">in</span> <span class="n">inv_groups</span><span class="p">:</span>
<span class="k">if</span> <span class="n">get_all</span> <span class="ow">or</span> <span class="n">inv_group</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="n">groupnames</span><span class="p">:</span>
<span class="n">group</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Group</span><span class="p">(</span><span class="n">inv_group</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
<span class="n">group_services</span><span class="p">[</span><span class="n">inv_group</span><span class="o">.</span><span class="n">name</span><span class="p">],</span>
<span class="n">inv_group</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">())</span>
<span class="n">groups</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
<span class="k">for</span> <span class="n">groupname</span> <span class="ow">in</span> <span class="n">groupnames</span><span class="p">:</span>
<span class="n">inv_group</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_group</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
<span class="n">group</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Group</span><span class="p">(</span><span class="n">groupname</span><span class="p">,</span>
<span class="n">group_services</span><span class="p">[</span><span class="n">groupname</span><span class="p">],</span>
<span class="n">inv_group</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">())</span>
<span class="n">groups</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
<span class="k">return</span> <span class="n">groups</span></div>
</pre></div>
@ -274,7 +277,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.host &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.host &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -89,6 +89,10 @@
<span class="sd"> :return: group names</span>
<span class="sd"> :rtype: list of strings</span>
<span class="sd"> Note: If the groups associated with this host change after this</span>
<span class="sd"> host is fetched, the host must be re-fetched to reflect those</span>
<span class="sd"> changes.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">copy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="p">)</span>
</div></div>
@ -161,11 +165,11 @@
<span class="sd">&quot;&quot;&quot;Check hosts for ssh connectivity</span>
<span class="sd"> Check status is a dictionary of form:</span>
<span class="sd"> - {hostname: {</span>
<span class="sd"> - {hostname: {</span>
<span class="sd"> &#39;success&#39;:&lt;True|False&gt;,</span>
<span class="sd"> &#39;msg&#39;:message_string},</span>
<span class="sd"> ...</span>
<span class="sd"> }</span>
<span class="sd"> ...</span>
<span class="sd"> }</span>
<span class="sd"> :param hostnames: list of strings</span>
<span class="sd"> :return: check status</span>
@ -182,11 +186,12 @@
<span class="sd">&quot;&quot;&quot;Setup multiple hosts for ssh access</span>
<span class="sd"> hosts_info is a dictionary of form:</span>
<span class="sd"> {hostname&#39;: {</span>
<span class="sd"> &#39;password&#39;: password</span>
<span class="sd"> &#39;uname&#39;: user_name},</span>
<span class="sd"> ...</span>
<span class="sd"> }</span>
<span class="sd"> - {hostname&#39;: {</span>
<span class="sd"> &#39;password&#39;: password</span>
<span class="sd"> &#39;uname&#39;: user_name},</span>
<span class="sd"> ...</span>
<span class="sd"> }</span>
<span class="sd"> The uname entry is optional.</span>
<span class="sd"> :param hosts_info: dictionary</span>
@ -228,7 +233,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.job &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.job &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -138,7 +138,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.password &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.password &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -130,7 +130,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.properties &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.properties &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -245,7 +245,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.service &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.service &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -124,6 +124,10 @@
<span class="sd"> :return: group names</span>
<span class="sd"> :rtype: list of strings</span>
<span class="sd"> Note: If the groups associated with this service change after this</span>
<span class="sd"> service is fetched, the service must be re-fetched to reflect those</span>
<span class="sd"> changes.</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">return</span> <span class="n">copy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="p">)</span>
</div></div>
@ -150,26 +154,30 @@
<span class="k">def</span> <span class="nf">_get_services</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">servicenames</span><span class="p">,</span> <span class="n">get_all</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="n">services</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
<span class="k">if</span> <span class="n">servicenames</span><span class="p">:</span>
<span class="k">if</span> <span class="n">get_all</span><span class="p">:</span>
<span class="n">servicenames</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">serv_dict</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_service_sub_services</span><span class="p">()</span>
<span class="k">for</span> <span class="n">servicename</span><span class="p">,</span> <span class="n">subservicenames</span> <span class="ow">in</span> <span class="n">serv_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="n">servicenames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="n">servicenames</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">subservicenames</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">inventory</span><span class="o">.</span><span class="n">validate_servicenames</span><span class="p">(</span><span class="n">servicenames</span><span class="p">)</span>
<span class="n">inv_services</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_services</span><span class="p">()</span>
<span class="n">inv_subservices</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_sub_services</span><span class="p">()</span>
<span class="k">for</span> <span class="n">inv_service</span> <span class="ow">in</span> <span class="n">inv_services</span><span class="p">:</span>
<span class="k">if</span> <span class="n">get_all</span> <span class="ow">or</span> <span class="n">inv_service</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="n">servicenames</span><span class="p">:</span>
<span class="k">for</span> <span class="n">servicename</span> <span class="ow">in</span> <span class="n">servicenames</span><span class="p">:</span>
<span class="n">inv_service</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_service</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="k">if</span> <span class="n">inv_service</span><span class="p">:</span>
<span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Service</span><span class="p">(</span><span class="n">inv_service</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
<span class="bp">None</span><span class="p">,</span>
<span class="n">inv_service</span><span class="o">.</span><span class="n">get_sub_servicenames</span><span class="p">(),</span>
<span class="n">inv_service</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">())</span>
<span class="n">services</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
<span class="k">for</span> <span class="n">inv_subservice</span> <span class="ow">in</span> <span class="n">inv_subservices</span><span class="p">:</span>
<span class="k">if</span> <span class="n">get_all</span> <span class="ow">or</span> <span class="n">inv_subservice</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="n">servicenames</span><span class="p">:</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">inv_subservice</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_sub_service</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Service</span><span class="p">(</span><span class="n">inv_subservice</span><span class="o">.</span><span class="n">name</span><span class="p">,</span>
<span class="n">inv_subservice</span><span class="o">.</span><span class="n">get_parent_servicename</span><span class="p">(),</span>
<span class="p">[],</span>
<span class="n">inv_subservice</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">())</span>
<span class="n">services</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
<span class="n">services</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">service</span><span class="p">)</span>
<span class="k">return</span> <span class="n">services</span></div>
</pre></div>
@ -204,7 +212,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api.support &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api.support &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -153,7 +153,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.deploy &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.deploy &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -61,6 +61,7 @@
<span class="c"># License for the specific language governing permissions and limitations</span>
<span class="c"># under the License.</span>
<span class="kn">import</span> <span class="nn">logging</span>
<span class="kn">import</span> <span class="nn">time</span>
<span class="kn">import</span> <span class="nn">traceback</span>
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
@ -83,22 +84,42 @@
<span class="n">help</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Deployment host list&#39;</span><span class="p">))</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;--serial&#39;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">&#39;store_true&#39;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Deploy serially&#39;</span><span class="p">))</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s">&#39;--timeout&#39;</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
<span class="n">metavar</span><span class="o">=</span><span class="s">&#39;&lt;timeout&gt;&#39;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;timeout (in minutes)&#39;</span><span class="p">))</span>
<span class="k">return</span> <span class="n">parser</span>
</div>
<div class="viewcode-block" id="Deploy.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.deploy.Deploy.take_action">[docs]</a> <span class="k">def</span> <span class="nf">take_action</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parsed_args</span><span class="p">):</span>
<span class="n">hosts</span> <span class="o">=</span> <span class="bp">None</span>
<span class="n">serial_flag</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">verbose_level</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">app</span><span class="o">.</span><span class="n">options</span><span class="o">.</span><span class="n">verbose_level</span>
<span class="n">timeout_target</span> <span class="o">=</span> <span class="mi">0</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hosts</span><span class="p">:</span>
<span class="n">host_list</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hosts</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="n">hosts</span> <span class="o">=</span> <span class="n">host_list</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;,&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">serial</span><span class="p">:</span>
<span class="n">serial_flag</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">timeout</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">timeout</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">timeout</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Timeout value is not a number.&#39;</span><span class="p">))</span>
<span class="n">timeout_target</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">+</span> <span class="p">(</span><span class="mi">60</span> <span class="o">*</span> <span class="n">timeout</span><span class="p">)</span>
<span class="n">job</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">async_deploy</span><span class="p">(</span><span class="n">hosts</span><span class="p">,</span> <span class="n">serial_flag</span><span class="p">,</span>
<span class="n">verbose_level</span><span class="p">)</span>
<span class="n">status</span> <span class="o">=</span> <span class="n">job</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
<span class="c"># wait for job to complete</span>
<span class="n">status</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">while</span> <span class="n">status</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">if</span> <span class="n">timeout_target</span> <span class="ow">and</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span> <span class="o">&gt;</span> <span class="n">timeout_target</span><span class="p">:</span>
<span class="n">job</span><span class="o">.</span><span class="n">kill</span><span class="p">()</span>
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Job timed out and was killed.&#39;</span><span class="p">))</span>
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="n">status</span> <span class="o">=</span> <span class="n">job</span><span class="o">.</span><span class="n">get_status</span><span class="p">()</span>
<span class="c"># job is done</span>
<span class="k">if</span> <span class="n">verbose_level</span> <span class="o">&gt;</span> <span class="mi">2</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n\n</span><span class="s">&#39;</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s">&#39;=&#39;</span><span class="p">)</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;DEBUG command output:</span><span class="se">\n</span><span class="s">{out}&#39;</span><span class="p">)</span>
@ -134,10 +155,13 @@
<div class="viewcode-block" id="Setdeploy.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.deploy.Setdeploy.take_action">[docs]</a> <span class="k">def</span> <span class="nf">take_action</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parsed_args</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">mode</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">mode</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
<span class="n">remote_flag</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">if</span> <span class="n">mode</span> <span class="o">==</span> <span class="s">&#39;remote&#39;</span><span class="p">:</span>
<span class="n">remote_flag</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">elif</span> <span class="n">mode</span> <span class="o">!=</span> <span class="s">&#39;local&#39;</span><span class="p">:</span>
<span class="n">remote_flag</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">if</span> <span class="n">mode</span> <span class="o">==</span> <span class="s">&#39;local&#39;</span><span class="p">:</span>
<span class="n">remote_flag</span> <span class="o">=</span> <span class="bp">False</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Please note that local mode is not supported &#39;</span>
<span class="s">&#39;and should never be used in production &#39;</span>
<span class="s">&#39;environments.&#39;</span><span class="p">))</span>
<span class="k">elif</span> <span class="n">mode</span> <span class="o">!=</span> <span class="s">&#39;remote&#39;</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span>
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Invalid deploy mode. Mode must be &#39;</span>
<span class="s">&#39;either &quot;local&quot; or &quot;remote&quot;.&#39;</span><span class="p">))</span>
@ -179,7 +203,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.exceptions &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.exceptions &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -104,7 +104,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.group &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.group &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -280,7 +280,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.host &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.host &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -379,7 +379,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.password &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.password &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -168,7 +168,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.property &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.property &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -346,7 +346,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.service &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.service &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -209,7 +209,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.support &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.support &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -119,7 +119,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands.upgrade &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands.upgrade &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -132,7 +132,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.ansible.actions &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.ansible.actions &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../../index.html" />
<link rel="up" title="Module code" href="../../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -315,7 +315,7 @@
<li class="right" >
<a href="../../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.ansible.job &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.ansible.job &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../../index.html" />
<link rel="up" title="Module code" href="../../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -65,6 +65,7 @@
<span class="kn">import</span> <span class="nn">logging</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">pwd</span>
<span class="kn">import</span> <span class="nn">re</span>
<span class="kn">import</span> <span class="nn">subprocess</span> <span class="c"># nosec</span>
<span class="kn">import</span> <span class="nn">tempfile</span>
<span class="kn">import</span> <span class="nn">time</span>
@ -85,7 +86,7 @@
<span class="n">LINE_LENGTH</span> <span class="o">=</span> <span class="mi">80</span>
<span class="n">PIPE_PREFIX</span> <span class="o">=</span> <span class="s">&#39;.kolla_pipe_&#39;</span>
<span class="n">PIPE_NAME</span> <span class="o">=</span> <span class="s">&#39;.kolla_pipe&#39;</span>
<span class="c"># action defs</span>
<span class="n">ACTION_PLAY_START</span> <span class="o">=</span> <span class="s">&#39;play_start&#39;</span>
@ -94,6 +95,8 @@
<span class="n">ACTION_INCLUDE_FILE</span> <span class="o">=</span> <span class="s">&#39;includefile&#39;</span>
<span class="n">ACTION_STATS</span> <span class="o">=</span> <span class="s">&#39;stats&#39;</span>
<span class="n">ANSIBLE_1_OR_MORE</span> <span class="o">=</span> <span class="s">&#39;One or more items failed&#39;</span>
<div class="viewcode-block" id="AnsibleJob"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob">[docs]</a><span class="k">class</span> <span class="nc">AnsibleJob</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;class for running ansible commands&quot;&quot;&quot;</span>
@ -107,7 +110,9 @@
<span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_is_first_packet</span> <span class="o">=</span> <span class="bp">True</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
<span class="n">tempfile</span><span class="o">.</span><span class="n">gettempdir</span><span class="p">(),</span> <span class="s">&#39;</span><span class="si">%s</span><span class="s">_</span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">PIPE_PREFIX</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deploy_id</span><span class="p">))</span>
<span class="n">tempfile</span><span class="o">.</span><span class="n">gettempdir</span><span class="p">(),</span>
<span class="s">&#39;kolla_</span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">deploy_id</span><span class="p">,</span>
<span class="s">&#39;</span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">PIPE_NAME</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fifo_fd</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_process</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_process_std_err</span> <span class="o">=</span> <span class="bp">None</span>
@ -121,14 +126,15 @@
<span class="n">locked</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_ansible_lock</span><span class="o">.</span><span class="n">wait_acquire</span><span class="p">()</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">locked</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span>
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;unable to run ansible job {cmd} &#39;</span>
<span class="s">&#39;as we couldn</span><span class="se">\&#39;</span><span class="s">t get lock.&#39;</span><span class="p">)</span>
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">cmd</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_command</span><span class="p">))</span>
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;unable to get lock: {lock}, to run &#39;</span>
<span class="s">&#39;ansible job: {cmd} &#39;</span><span class="p">)</span>
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">lock</span><span class="o">=</span><span class="n">get_ansible_lock_path</span><span class="p">(),</span> <span class="n">cmd</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_command</span><span class="p">))</span>
<span class="c"># create and open named pipe, must be owned by kolla group</span>
<span class="n">os</span><span class="o">.</span><span class="n">mkfifo</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span><span class="p">,</span> <span class="mi">0</span><span class="n">o660</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">mkfifo</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span><span class="p">)</span>
<span class="n">_</span><span class="p">,</span> <span class="n">grp_id</span> <span class="o">=</span> <span class="n">get_admin_uids</span><span class="p">()</span>
<span class="n">os</span><span class="o">.</span><span class="n">chown</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">getuid</span><span class="p">(),</span> <span class="n">grp_id</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">chmod</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span><span class="p">,</span> <span class="mi">0</span><span class="n">o660</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fifo_fd</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span><span class="p">,</span>
<span class="n">os</span><span class="o">.</span><span class="n">O_RDONLY</span> <span class="o">|</span> <span class="n">os</span><span class="o">.</span><span class="n">O_NONBLOCK</span><span class="p">)</span>
@ -196,6 +202,8 @@
<span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">msg</span><span class="p">,</span> <span class="n">error</span><span class="p">,</span> <span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">])</span>
<span class="c"># if no error from the callback, check the process error</span>
<span class="k">if</span> <span class="n">ANSIBLE_1_OR_MORE</span> <span class="ow">in</span> <span class="n">msg</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_msg_from_cmdout</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">msg</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_process_std_err</span>
<span class="k">return</span> <span class="n">msg</span>
@ -215,23 +223,62 @@
<span class="sd"> &quot;&quot;&quot;</span>
<span class="c"># the kill must be run as the kolla user so the</span>
<span class="c"># kolla_actions program must be used.</span>
<span class="n">actions_path</span> <span class="o">=</span> <span class="n">get_kolla_actions_path</span><span class="p">()</span>
<span class="n">kolla_user</span> <span class="o">=</span> <span class="n">get_admin_user</span><span class="p">()</span>
<span class="n">cmd_prefix</span> <span class="o">=</span> <span class="p">(</span><span class="s">&#39;/usr/bin/sudo -u </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> job -t -p &#39;</span>
<span class="o">%</span> <span class="p">(</span><span class="n">kolla_user</span><span class="p">,</span> <span class="n">actions_path</span><span class="p">))</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">actions_path</span> <span class="o">=</span> <span class="n">get_kolla_actions_path</span><span class="p">()</span>
<span class="n">kolla_user</span> <span class="o">=</span> <span class="n">get_admin_user</span><span class="p">()</span>
<span class="n">cmd_prefix</span> <span class="o">=</span> <span class="p">(</span><span class="s">&#39;/usr/bin/sudo -u </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> job -t -p &#39;</span>
<span class="o">%</span> <span class="p">(</span><span class="n">kolla_user</span><span class="p">,</span> <span class="n">actions_path</span><span class="p">))</span>
<span class="c"># kill the children from largest to smallest pids.</span>
<span class="n">child_pids</span> <span class="o">=</span> <span class="n">PidManager</span><span class="o">.</span><span class="n">get_child_pids</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
<span class="k">for</span> <span class="n">child_pid</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">child_pids</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
<span class="n">cmd</span> <span class="o">=</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">cmd_prefix</span><span class="p">,</span> <span class="n">child_pid</span><span class="p">])</span>
<span class="n">err_msg</span><span class="p">,</span> <span class="n">output</span> <span class="o">=</span> <span class="n">run_cmd</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">print_output</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
<span class="k">if</span> <span class="n">err_msg</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;kill failed: </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">err_msg</span><span class="p">,</span> <span class="n">output</span><span class="p">))</span>
<span class="c"># kill the children from largest to smallest pids.</span>
<span class="n">child_pids</span> <span class="o">=</span> <span class="n">PidManager</span><span class="o">.</span><span class="n">get_child_pids</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
<span class="k">for</span> <span class="n">child_pid</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">child_pids</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
<span class="n">cmd</span> <span class="o">=</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">cmd_prefix</span><span class="p">,</span> <span class="n">child_pid</span><span class="p">])</span>
<span class="n">err_msg</span><span class="p">,</span> <span class="n">output</span> <span class="o">=</span> <span class="n">run_cmd</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">print_output</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
<span class="k">if</span> <span class="n">err_msg</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;kill failed: </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">err_msg</span><span class="p">,</span> <span class="n">output</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;kill succeeded: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">child_pid</span><span class="p">)</span>
<span class="c"># record the name of user who killed the job</span>
<span class="n">cur_uid</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getuid</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_kill_uname</span> <span class="o">=</span> <span class="n">pwd</span><span class="o">.</span><span class="n">getpwuid</span><span class="p">(</span><span class="n">cur_uid</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="c"># record the name of user who killed the job</span>
<span class="n">cur_uid</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getuid</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_kill_uname</span> <span class="o">=</span> <span class="n">pwd</span><span class="o">.</span><span class="n">getpwuid</span><span class="p">(</span><span class="n">cur_uid</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
<span class="k">finally</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_cleanup</span><span class="p">()</span>
</div>
<span class="k">def</span> <span class="nf">_get_msg_from_cmdout</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">msg</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;get message from command output</span>
<span class="sd"> Not very pretty, but the only way to get the error detail out of</span>
<span class="sd"> ansible when the callback gives you &#39;One or more items failed&#39;.</span>
<span class="sd"> This is where the error message is in cmd out-</span>
<span class="sd"> \nfailed: [ol7-c5] (item=[u&#39;/etc/kolla/config/aodh.conf&#39;,</span>
<span class="sd"> u&#39;/usr/share/kolla/templates/aodh/aodh.conf_augment&#39;]) =&gt;</span>
<span class="sd"> {&quot;failed&quot;: true, &quot;invocation&quot;: {&quot;module_args&quot;: {&quot;dest&quot;:</span>
<span class="sd"> &quot;/usr/share/kolla/templates/aodh/aodh.conf_augment&quot;,</span>
<span class="sd"> &quot;src&quot;: &quot;/etc/kolla/config/aodh.conf&quot;}, &quot;module_name&quot;: &quot;template&quot;},</span>
<span class="sd"> &quot;item&quot;: [&quot;/etc/kolla/config/aodh.conf&quot;,</span>
<span class="sd"> &quot;/usr/share/kolla/templates/aodh/aodh.conf_augment&quot;],</span>
<span class="sd"> &quot;msg&quot;: &quot;IOError: [Errno 2] No such file or directory:</span>
<span class="sd"> u&#39;/etc/kolla/config/aodh.conf&#39;&quot;}\n</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">fail_key</span> <span class="o">=</span> <span class="s">&#39;</span><span class="se">\n</span><span class="s">failed: &#39;</span>
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="n">fail_key</span> <span class="o">+</span> <span class="s">&#39;\[(.+?)]&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cmd_output</span><span class="p">)</span>
<span class="n">msgs</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">findall</span><span class="p">(</span><span class="n">fail_key</span> <span class="o">+</span> <span class="s">&#39;.+ =&gt; (.+?)</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cmd_output</span><span class="p">)</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">min</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">hostnames</span><span class="p">),</span> <span class="nb">len</span><span class="p">(</span><span class="n">msgs</span><span class="p">))):</span>
<span class="n">err</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
<span class="n">hostname</span> <span class="o">=</span> <span class="n">hostnames</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
<span class="n">ans_dict_str</span> <span class="o">=</span> <span class="n">msgs</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">ans_dict</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">ans_dict_str</span><span class="p">)</span>
<span class="n">err</span> <span class="o">=</span> <span class="n">ans_dict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;msg&#39;</span><span class="p">,</span> <span class="s">&#39;&#39;</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s">&#39;Exception reading cmd_out ansible dictionary: </span><span class="si">%s</span><span class="s">&#39;</span>
<span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
<span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">msg</span><span class="p">,</span> <span class="s">&#39;Host: &#39;</span><span class="p">,</span> <span class="n">hostname</span><span class="p">,</span> <span class="s">&#39;, &#39;</span><span class="p">,</span> <span class="n">err</span><span class="p">,</span> <span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">])</span>
<span class="k">return</span> <span class="n">msg</span>
<span class="k">def</span> <span class="nf">_read_stream</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stream</span><span class="p">):</span>
<span class="n">out</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
<span class="k">if</span> <span class="n">stream</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">stream</span><span class="o">.</span><span class="n">closed</span><span class="p">:</span>
@ -259,9 +306,6 @@
<span class="c"># try to clear the ansible lock</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_ansible_lock</span><span class="o">.</span><span class="n">release</span><span class="p">()</span>
<span class="c"># delete temp inventory file</span>
<span class="n">remove_temp_inventory</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_temp_inv_path</span><span class="p">)</span>
<span class="c"># close the process&#39;s stdout and stderr streams</span>
<span class="k">if</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_process</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">stdout</span> <span class="ow">and</span> <span class="ow">not</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">closed</span><span class="p">):</span>
@ -280,6 +324,9 @@
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span> <span class="ow">and</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span><span class="p">):</span>
<span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_path</span><span class="p">)</span>
<span class="c"># delete temp inventory file</span>
<span class="n">remove_temp_inventory</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_temp_inv_path</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">_read_from_callback</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;read lines from callback in real-time&quot;&quot;&quot;</span>
<span class="n">data</span> <span class="o">=</span> <span class="bp">None</span>
@ -290,6 +337,7 @@
<span class="c"># error can happen if fifo is empty</span>
<span class="k">pass</span>
<span class="k">if</span> <span class="n">data</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;callback packets: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">data</span><span class="p">)</span>
<span class="n">packets</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deserialize_packets</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="k">for</span> <span class="n">packet</span> <span class="ow">in</span> <span class="n">packets</span><span class="p">:</span>
<span class="n">formatted_data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_format_packet</span><span class="p">(</span><span class="n">packet</span><span class="p">)</span>
@ -432,29 +480,38 @@
<span class="n">has_fragment</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">):</span>
<span class="n">has_fragment</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;fragment found: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">data</span><span class="p">)</span>
<span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
<span class="n">lines</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">)</span>
<span class="n">num_lines</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">lines</span><span class="p">)</span>
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">:</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">line</span><span class="p">:</span>
<span class="c"># ignore empty string lines</span>
<span class="k">continue</span>
<span class="n">i</span> <span class="o">+=</span> <span class="mi">1</span>
<span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
<span class="c"># first line</span>
<span class="n">line</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">+</span> <span class="n">line</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
<span class="k">elif</span> <span class="n">i</span> <span class="o">==</span> <span class="n">num_lines</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span>
<span class="c"># last line</span>
<span class="k">if</span> <span class="n">has_fragment</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">=</span> <span class="n">line</span>
<span class="k">continue</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">packets</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">line</span><span class="p">))</span>
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</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="s">&#39;invalid line for json encoding: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">line</span><span class="p">)</span>
<span class="k">if</span> <span class="n">i</span> <span class="o">==</span> <span class="n">num_lines</span> <span class="ow">and</span> <span class="n">has_fragment</span><span class="p">:</span>
<span class="c"># last line is incomplete, save as fragment</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">=</span> <span class="n">line</span>
<span class="k">break</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">line</span><span class="p">:</span>
<span class="c"># ignore empty string lines</span>
<span class="k">continue</span>
<span class="n">info</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">json_load</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
<span class="k">if</span> <span class="n">info</span><span class="p">:</span>
<span class="n">packets</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">info</span><span class="p">)</span>
<span class="k">return</span> <span class="n">packets</span>
<div class="viewcode-block" id="AnsibleJob.json_load"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob.json_load">[docs]</a> <span class="k">def</span> <span class="nf">json_load</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">string_var</span><span class="p">,</span> <span class="n">raise_on_err</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
<span class="n">retval</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">retval</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">string_var</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</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="s">&#39;invalid string for json encoding: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="n">string_var</span><span class="p">)</span>
<span class="k">if</span> <span class="n">raise_on_err</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">e</span>
<span class="k">return</span> <span class="n">packets</span></div>
<span class="k">return</span> <span class="n">retval</span></div></div>
</pre></div>
</div>
@ -488,7 +545,7 @@
<li class="right" >
<a href="../../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.ansible.playbook &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.ansible.playbook &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../../index.html" />
<link rel="up" title="Module code" href="../../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -70,7 +70,9 @@
<span class="kn">from</span> <span class="nn">kollacli.common.ansible.job</span> <span class="kn">import</span> <span class="n">AnsibleJob</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_admin_user</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_ansible_command</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_ansible_plugin_dir</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_kolla_etc</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_kolla_home</span>
<span class="kn">from</span> <span class="nn">kollacli.common.inventory</span> <span class="kn">import</span> <span class="n">Inventory</span>
@ -93,6 +95,7 @@
<div class="viewcode-block" id="AnsiblePlaybook.run"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.playbook.AnsiblePlaybook.run">[docs]</a> <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_check_for_plugin</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
<span class="n">inventory_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_make_temp_inventory</span><span class="p">()</span>
<span class="n">cmd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_playbook_cmd</span><span class="p">(</span><span class="n">inventory_path</span><span class="p">)</span>
@ -107,6 +110,28 @@
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">traceback</span><span class="o">.</span><span class="n">format_exc</span><span class="p">())</span>
</div>
<span class="k">def</span> <span class="nf">_check_for_plugin</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;check that plug-in is properly installed&quot;&quot;&quot;</span>
<span class="n">pi_dir</span> <span class="o">=</span> <span class="n">get_ansible_plugin_dir</span><span class="p">()</span>
<span class="n">pi_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">pi_dir</span><span class="p">,</span> <span class="s">&#39;kolla_callback.py&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">pi_path</span><span class="p">):</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;WARNING: kolla callback plug-in is missing. &#39;</span>
<span class="s">&#39;Should be here: {path}</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="n">pi_path</span><span class="p">))</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">ansible_cfg_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span>
<span class="n">get_kolla_home</span><span class="p">(),</span> <span class="s">&#39;.ansible.cfg&#39;</span><span class="p">)</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">ansible_cfg_path</span><span class="p">,</span> <span class="s">&#39;r&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">cfg</span><span class="p">:</span>
<span class="n">whitelist_ok</span> <span class="o">=</span> <span class="bp">False</span>
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">cfg</span><span class="p">:</span>
<span class="k">if</span> <span class="p">(</span><span class="n">line</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">&#39;callback_whitelist&#39;</span><span class="p">)</span> <span class="ow">and</span>
<span class="s">&#39;kolla_callback&#39;</span> <span class="ow">in</span> <span class="n">line</span><span class="p">):</span>
<span class="n">whitelist_ok</span> <span class="o">=</span> <span class="bp">True</span>
<span class="k">break</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">whitelist_ok</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;WARNING: kolla callback plug-in is not &#39;</span>
<span class="s">&#39;whitelisted &#39;</span>
<span class="s">&#39;in {path}</span><span class="se">\n</span><span class="s">&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="n">ansible_cfg_path</span><span class="p">))</span>
<span class="k">def</span> <span class="nf">_get_playbook_cmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inventory_path</span><span class="p">):</span>
<span class="n">flag</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
<span class="c"># verbose levels: 1=not verbose, 2=more verbose</span>
@ -227,7 +252,7 @@
<li class="right" >
<a href="../../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.inventory &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.inventory &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -60,6 +60,7 @@
<span class="c"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
<span class="c"># License for the specific language governing permissions and limitations</span>
<span class="c"># under the License.</span>
<span class="kn">from</span> <span class="nn">copy</span> <span class="kn">import</span> <span class="n">copy</span>
<span class="kn">import</span> <span class="nn">json</span>
<span class="kn">import</span> <span class="nn">jsonpickle</span>
<span class="kn">import</span> <span class="nn">logging</span>
@ -76,7 +77,12 @@
<span class="kn">from</span> <span class="nn">kollacli.api.exceptions</span> <span class="kn">import</span> <span class="n">InvalidConfiguration</span>
<span class="kn">from</span> <span class="nn">kollacli.api.exceptions</span> <span class="kn">import</span> <span class="n">MissingArgument</span>
<span class="kn">from</span> <span class="nn">kollacli.api.exceptions</span> <span class="kn">import</span> <span class="n">NotInInventory</span>
<span class="kn">from</span> <span class="nn">kollacli.common.allinone</span> <span class="kn">import</span> <span class="n">AllInOne</span>
<span class="kn">from</span> <span class="nn">kollacli.common.host</span> <span class="kn">import</span> <span class="n">Host</span>
<span class="kn">from</span> <span class="nn">kollacli.common.host_group</span> <span class="kn">import</span> <span class="n">HostGroup</span>
<span class="kn">from</span> <span class="nn">kollacli.common.service</span> <span class="kn">import</span> <span class="n">Service</span>
<span class="kn">from</span> <span class="nn">kollacli.common.sshutils</span> <span class="kn">import</span> <span class="n">ssh_setup_host</span>
<span class="kn">from</span> <span class="nn">kollacli.common.subservice</span> <span class="kn">import</span> <span class="n">SubService</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_admin_user</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_ansible_command</span>
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">get_group_vars_dir</span>
@ -93,69 +99,6 @@
<span class="n">INVENTORY_PATH</span> <span class="o">=</span> <span class="s">&#39;ansible/inventory.json&#39;</span>
<span class="n">COMPUTE_GRP_NAME</span> <span class="o">=</span> <span class="s">&#39;compute&#39;</span>
<span class="n">CONTROL_GRP_NAME</span> <span class="o">=</span> <span class="s">&#39;control&#39;</span>
<span class="n">NETWORK_GRP_NAME</span> <span class="o">=</span> <span class="s">&#39;network&#39;</span>
<span class="n">STORAGE_GRP_NAME</span> <span class="o">=</span> <span class="s">&#39;storage&#39;</span>
<span class="n">DATABASE_GRP_NAME</span> <span class="o">=</span> <span class="s">&#39;database&#39;</span>
<span class="n">DEPLOY_GROUPS</span> <span class="o">=</span> <span class="p">[</span>
<span class="n">COMPUTE_GRP_NAME</span><span class="p">,</span>
<span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="n">NETWORK_GRP_NAME</span><span class="p">,</span>
<span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
<span class="n">DATABASE_GRP_NAME</span><span class="p">,</span>
<span class="p">]</span>
<span class="n">SERVICES</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">&#39;ceilometer&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;ceilometer-alarm-evaluator&#39;</span><span class="p">,</span> <span class="s">&#39;ceilometer-alarm-notifier&#39;</span><span class="p">,</span>
<span class="s">&#39;ceilometer-api&#39;</span><span class="p">,</span> <span class="s">&#39;ceilometer-central&#39;</span><span class="p">,</span>
<span class="s">&#39;ceilometer-collector&#39;</span><span class="p">,</span> <span class="s">&#39;ceilometer-notification&#39;</span><span class="p">],</span>
<span class="s">&#39;cinder&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;cinder-api&#39;</span><span class="p">,</span> <span class="s">&#39;cinder-scheduler&#39;</span><span class="p">,</span> <span class="s">&#39;cinder-backup&#39;</span><span class="p">,</span>
<span class="s">&#39;cinder-volume&#39;</span><span class="p">],</span>
<span class="s">&#39;glance&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;glance-api&#39;</span><span class="p">,</span> <span class="s">&#39;glance-registry&#39;</span><span class="p">],</span>
<span class="s">&#39;haproxy&#39;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&#39;heat&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;heat-api&#39;</span><span class="p">,</span> <span class="s">&#39;heat-api-cfn&#39;</span><span class="p">,</span> <span class="s">&#39;heat-engine&#39;</span><span class="p">],</span>
<span class="s">&#39;horizon&#39;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&#39;keystone&#39;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&#39;memcached&#39;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&#39;murano&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;murano-api&#39;</span><span class="p">,</span> <span class="s">&#39;murano-engine&#39;</span><span class="p">],</span>
<span class="s">&#39;mysqlcluster&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;mysqlcluster-api&#39;</span><span class="p">,</span> <span class="s">&#39;mysqlcluster-mgmt&#39;</span><span class="p">,</span>
<span class="s">&#39;mysqlcluster-ndb&#39;</span><span class="p">],</span>
<span class="s">&#39;neutron&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;neutron-server&#39;</span><span class="p">,</span> <span class="s">&#39;neutron-agents&#39;</span><span class="p">],</span>
<span class="s">&#39;nova&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;nova-api&#39;</span><span class="p">,</span> <span class="s">&#39;nova-conductor&#39;</span><span class="p">,</span> <span class="s">&#39;nova-consoleauth&#39;</span><span class="p">,</span>
<span class="s">&#39;nova-novncproxy&#39;</span><span class="p">,</span> <span class="s">&#39;nova-scheduler&#39;</span><span class="p">],</span>
<span class="s">&#39;rabbitmq&#39;</span><span class="p">:</span> <span class="p">[],</span>
<span class="s">&#39;swift&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s">&#39;swift-proxy-server&#39;</span><span class="p">,</span> <span class="s">&#39;swift-account-server&#39;</span><span class="p">,</span>
<span class="s">&#39;swift-container-server&#39;</span><span class="p">,</span> <span class="s">&#39;swift-object-server&#39;</span><span class="p">],</span>
<span class="p">}</span>
<span class="n">DEFAULT_GROUPS</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">&#39;ceilometer&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;cinder&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;glance&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;haproxy&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;heat&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;horizon&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;keystone&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;memcached&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;murano&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;mysqlcluster&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;neutron&#39;</span><span class="p">:</span> <span class="n">NETWORK_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;nova&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;rabbitmq&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;swift&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="p">}</span>
<span class="n">DEFAULT_OVERRIDES</span> <span class="o">=</span> <span class="p">{</span>
<span class="s">&#39;cinder-backup&#39;</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;cinder-volume&#39;</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;mysqlcluster-ndb&#39;</span><span class="p">:</span> <span class="n">DATABASE_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;neutron-server&#39;</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;swift-account-server&#39;</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;swift-container-server&#39;</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
<span class="s">&#39;swift-object-server&#39;</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
<span class="p">}</span>
<span class="c"># these groups cannot be deleted, they are required by kolla</span>
<span class="n">PROTECTED_GROUPS</span> <span class="o">=</span> <span class="p">[</span><span class="n">COMPUTE_GRP_NAME</span><span class="p">]</span>
@ -173,156 +116,15 @@
<span class="n">os</span><span class="o">.</span><span class="n">rmdir</span><span class="p">(</span><span class="n">dirpath</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="Host"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Host">[docs]</a><span class="k">class</span> <span class="nc">Host</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="n">class_version</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hostname</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">hostname</span>
<span class="bp">self</span><span class="o">.</span><span class="n">alias</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">is_mgmt</span> <span class="o">=</span> <span class="bp">False</span>
<span class="bp">self</span><span class="o">.</span><span class="n">hypervisor</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
<span class="bp">self</span><span class="o">.</span><span class="n">vars</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">class_version</span>
<div class="viewcode-block" id="Host.get_vars"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Host.get_vars">[docs]</a> <span class="k">def</span> <span class="nf">get_vars</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="Host.set_var"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Host.set_var">[docs]</a> <span class="k">def</span> <span class="nf">set_var</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
</div>
<div class="viewcode-block" id="Host.upgrade"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Host.upgrade">[docs]</a> <span class="k">def</span> <span class="nf">upgrade</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">pass</span>
</div></div>
<div class="viewcode-block" id="HostGroup"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup">[docs]</a><span class="k">class</span> <span class="nc">HostGroup</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="n">class_version</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
<span class="bp">self</span><span class="o">.</span><span class="n">hostnames</span> <span class="o">=</span> <span class="p">[]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">vars</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">class_version</span>
<div class="viewcode-block" id="HostGroup.upgrade"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.upgrade">[docs]</a> <span class="k">def</span> <span class="nf">upgrade</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">pass</span>
</div>
<div class="viewcode-block" id="HostGroup.add_host"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.add_host">[docs]</a> <span class="k">def</span> <span class="nf">add_host</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">):</span>
<span class="k">if</span> <span class="n">host</span><span class="o">.</span><span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostnames</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">hostnames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">host</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="HostGroup.remove_host"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.remove_host">[docs]</a> <span class="k">def</span> <span class="nf">remove_host</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host</span><span class="p">):</span>
<span class="k">if</span> <span class="n">host</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostnames</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">hostnames</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">host</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="HostGroup.get_hostnames"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.get_hostnames">[docs]</a> <span class="k">def</span> <span class="nf">get_hostnames</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostnames</span>
</div>
<div class="viewcode-block" id="HostGroup.get_vars"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.get_vars">[docs]</a> <span class="k">def</span> <span class="nf">get_vars</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</div>
<div class="viewcode-block" id="HostGroup.set_var"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.set_var">[docs]</a> <span class="k">def</span> <span class="nf">set_var</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
</div>
<div class="viewcode-block" id="HostGroup.clear_var"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.clear_var">[docs]</a> <span class="k">def</span> <span class="nf">clear_var</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
<span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="p">:</span>
<span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="p">[</span><span class="n">name</span><span class="p">]</span>
</div>
<div class="viewcode-block" id="HostGroup.set_remote"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.HostGroup.set_remote">[docs]</a> <span class="k">def</span> <span class="nf">set_remote</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">remote_flag</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_var</span><span class="p">(</span><span class="n">ANSIBLE_BECOME</span><span class="p">,</span> <span class="s">&#39;yes&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">remote_flag</span><span class="p">:</span>
<span class="c"># set the ssh info for all the servers in the group</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_var</span><span class="p">(</span><span class="n">ANSIBLE_SSH_USER</span><span class="p">,</span> <span class="n">get_admin_user</span><span class="p">())</span>
<span class="bp">self</span><span class="o">.</span><span class="n">clear_var</span><span class="p">(</span><span class="n">ANSIBLE_CONNECTION</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="c"># remove ssh info, add local connection type</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_var</span><span class="p">(</span><span class="n">ANSIBLE_CONNECTION</span><span class="p">,</span> <span class="s">&#39;local&#39;</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">clear_var</span><span class="p">(</span><span class="n">ANSIBLE_SSH_USER</span><span class="p">)</span>
</div></div>
<div class="viewcode-block" id="Service"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service">[docs]</a><span class="k">class</span> <span class="nc">Service</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="n">class_version</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_sub_servicenames</span> <span class="o">=</span> <span class="p">[]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span> <span class="o">=</span> <span class="p">[]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_vars</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">class_version</span>
<div class="viewcode-block" id="Service.upgrade"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service.upgrade">[docs]</a> <span class="k">def</span> <span class="nf">upgrade</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">pass</span>
</div>
<div class="viewcode-block" id="Service.add_groupname"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service.add_groupname">[docs]</a> <span class="k">def</span> <span class="nf">add_groupname</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">groupname</span><span class="p">):</span>
<span class="k">if</span> <span class="n">groupname</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">groupname</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="Service.remove_groupname"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service.remove_groupname">[docs]</a> <span class="k">def</span> <span class="nf">remove_groupname</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">groupname</span><span class="p">):</span>
<span class="k">if</span> <span class="n">groupname</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="Service.get_groupnames"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service.get_groupnames">[docs]</a> <span class="k">def</span> <span class="nf">get_groupnames</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span>
</div>
<div class="viewcode-block" id="Service.get_sub_servicenames"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service.get_sub_servicenames">[docs]</a> <span class="k">def</span> <span class="nf">get_sub_servicenames</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sub_servicenames</span>
</div>
<div class="viewcode-block" id="Service.add_sub_servicename"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service.add_sub_servicename">[docs]</a> <span class="k">def</span> <span class="nf">add_sub_servicename</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sub_servicename</span><span class="p">):</span>
<span class="k">if</span> <span class="n">sub_servicename</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sub_servicenames</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_sub_servicenames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">sub_servicename</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="Service.get_vars"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Service.get_vars">[docs]</a> <span class="k">def</span> <span class="nf">get_vars</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_vars</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</div></div>
<div class="viewcode-block" id="SubService"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService">[docs]</a><span class="k">class</span> <span class="nc">SubService</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="n">class_version</span> <span class="o">=</span> <span class="mi">1</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="n">name</span>
<span class="c"># groups and parent services are mutually exclusive</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span> <span class="o">=</span> <span class="p">[]</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_parent_servicename</span> <span class="o">=</span> <span class="bp">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_vars</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">class_version</span>
<div class="viewcode-block" id="SubService.upgrade"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService.upgrade">[docs]</a> <span class="k">def</span> <span class="nf">upgrade</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">pass</span>
</div>
<div class="viewcode-block" id="SubService.add_groupname"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService.add_groupname">[docs]</a> <span class="k">def</span> <span class="nf">add_groupname</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">groupname</span><span class="p">):</span>
<span class="k">if</span> <span class="n">groupname</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="SubService.remove_groupname"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService.remove_groupname">[docs]</a> <span class="k">def</span> <span class="nf">remove_groupname</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">groupname</span><span class="p">):</span>
<span class="k">if</span> <span class="n">groupname</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span><span class="p">:</span>
<span class="c"># no groups left, re-associate to the parent</span>
<span class="k">for</span> <span class="n">servicename</span> <span class="ow">in</span> <span class="n">SERVICES</span><span class="p">:</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="n">SERVICES</span><span class="p">[</span><span class="n">servicename</span><span class="p">]:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_parent_servicename</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="k">break</span>
</div>
<div class="viewcode-block" id="SubService.get_groupnames"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService.get_groupnames">[docs]</a> <span class="k">def</span> <span class="nf">get_groupnames</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_groupnames</span>
</div>
<div class="viewcode-block" id="SubService.set_parent_servicename"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService.set_parent_servicename">[docs]</a> <span class="k">def</span> <span class="nf">set_parent_servicename</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent_svc_name</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_parent_servicename</span> <span class="o">=</span> <span class="n">parent_svc_name</span>
</div>
<div class="viewcode-block" id="SubService.get_parent_servicename"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService.get_parent_servicename">[docs]</a> <span class="k">def</span> <span class="nf">get_parent_servicename</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_parent_servicename</span>
</div>
<div class="viewcode-block" id="SubService.get_vars"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.SubService.get_vars">[docs]</a> <span class="k">def</span> <span class="nf">get_vars</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">vars</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
</div></div>
<div class="viewcode-block" id="Inventory"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory">[docs]</a><span class="k">class</span> <span class="nc">Inventory</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="n">class_version</span> <span class="o">=</span> <span class="mi">3</span>
<span class="sd">&quot;&quot;&quot;class version history</span>
<span class="sd"> 1: initial release</span>
<span class="sd"> 3: (v3.0.1):</span>
<span class="sd"> - added aodh, ceph</span>
<span class="sd"> - fix to ensure all sub-services have service as parent</span>
<span class="sd"> 2: (v2.1.1) added ceilometer</span>
<span class="sd"> 1: (v2.0.1) initial release</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_groups</span> <span class="o">=</span> <span class="p">{}</span> <span class="c"># kv = name:object</span>
@ -337,25 +139,18 @@
<span class="bp">self</span><span class="o">.</span><span class="n">_create_default_inventory</span><span class="p">()</span>
<div class="viewcode-block" id="Inventory.upgrade"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.upgrade">[docs]</a> <span class="k">def</span> <span class="nf">upgrade</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c"># check for new services or subservices in the all-in-one file</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_upgrade_services</span><span class="p">()</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">&lt;=</span> <span class="mi">1</span><span class="p">:</span>
<span class="c"># upgrade from inventory v1</span>
<span class="c"># add ceilometer to inventory</span>
<span class="n">svc_name</span> <span class="o">=</span> <span class="s">&#39;ceilometer&#39;</span>
<span class="n">svc</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_service</span><span class="p">(</span><span class="n">svc_name</span><span class="p">)</span>
<span class="c"># associate ceilometer with all groups that heat is in.</span>
<span class="n">clone_svc</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">(</span><span class="s">&#39;heat&#39;</span><span class="p">)</span>
<span class="n">groups</span> <span class="o">=</span> <span class="n">clone_svc</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
<span class="c"># set ceilometer groups to that of heat</span>
<span class="n">heat</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">(</span><span class="s">&#39;heat&#39;</span><span class="p">)</span>
<span class="n">ceilometer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_service</span><span class="p">(</span><span class="s">&#39;ceilometer&#39;</span><span class="p">)</span>
<span class="n">groups</span> <span class="o">=</span> <span class="n">heat</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
<span class="k">for</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">groups</span><span class="p">:</span>
<span class="n">svc</span><span class="o">.</span><span class="n">add_groupname</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
<span class="c"># stitch sub-service to service and set override</span>
<span class="c"># groups</span>
<span class="k">for</span> <span class="n">sub_svc_name</span> <span class="ow">in</span> <span class="n">SERVICES</span><span class="p">[</span><span class="n">svc_name</span><span class="p">]:</span>
<span class="n">sub_svc</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_sub_service</span><span class="p">(</span><span class="n">sub_svc_name</span><span class="p">)</span>
<span class="n">sub_svc</span><span class="o">.</span><span class="n">set_parent_servicename</span><span class="p">(</span><span class="n">svc_name</span><span class="p">)</span>
<span class="n">svc</span><span class="o">.</span><span class="n">add_sub_servicename</span><span class="p">(</span><span class="n">sub_svc_name</span><span class="p">)</span>
<span class="n">ceilometer</span><span class="o">.</span><span class="n">add_groupname</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">&lt;=</span> <span class="mi">2</span><span class="p">:</span>
<span class="c"># upgrade from inventory v2</span>
@ -372,6 +167,26 @@
<span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">class_version</span>
<span class="n">Inventory</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
</div>
<span class="k">def</span> <span class="nf">_upgrade_services</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">allinone</span> <span class="o">=</span> <span class="n">AllInOne</span><span class="p">()</span>
<span class="c"># add new services</span>
<span class="k">for</span> <span class="n">servicename</span><span class="p">,</span> <span class="n">service</span> <span class="ow">in</span> <span class="n">allinone</span><span class="o">.</span><span class="n">services</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="k">if</span> <span class="n">servicename</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">[</span><span class="n">servicename</span><span class="p">]</span> <span class="o">=</span> <span class="n">service</span>
<span class="c"># add new subservices</span>
<span class="k">for</span> <span class="n">subservicename</span><span class="p">,</span> <span class="n">subservice</span> <span class="ow">in</span> <span class="n">allinone</span><span class="o">.</span><span class="n">sub_services</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="k">if</span> <span class="n">subservicename</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">[</span><span class="n">subservicename</span><span class="p">]</span> <span class="o">=</span> <span class="n">subservice</span>
<span class="c"># remove obsolete subservices</span>
<span class="k">for</span> <span class="n">subservicename</span> <span class="ow">in</span> <span class="n">copy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">)</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
<span class="k">if</span> <span class="n">subservicename</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allinone</span><span class="o">.</span><span class="n">sub_services</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">delete_sub_service</span><span class="p">(</span><span class="n">subservicename</span><span class="p">)</span>
<span class="c"># remove obsolete services</span>
<span class="k">for</span> <span class="n">servicename</span> <span class="ow">in</span> <span class="n">copy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">)</span><span class="o">.</span><span class="n">keys</span><span class="p">():</span>
<span class="k">if</span> <span class="n">servicename</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">allinone</span><span class="o">.</span><span class="n">services</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">delete_service</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="nd">@staticmethod</span>
<div class="viewcode-block" id="Inventory.load"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.load">[docs]</a> <span class="k">def</span> <span class="nf">load</span><span class="p">():</span>
<span class="sd">&quot;&quot;&quot;load the inventory from a pickle file&quot;&quot;&quot;</span>
@ -389,6 +204,22 @@
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.ansible.inventory.&#39;</span><span class="p">,</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.inventory.&#39;</span><span class="p">)</span>
<span class="c"># The Host, HostGroup, Service and SubService were moved out of</span>
<span class="c"># inventory and into their own modules</span>
<span class="k">if</span> <span class="s">&#39;kollacli.common.service&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.inventory.Service&quot;&#39;</span><span class="p">,</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.service.Service&quot;&#39;</span><span class="p">)</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.inventory.SubService&quot;&#39;</span><span class="p">,</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.subservice.SubService&quot;&#39;</span><span class="p">)</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.inventory.Host&quot;&#39;</span><span class="p">,</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.host.Host&quot;&#39;</span><span class="p">)</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.inventory.HostGroup&quot;&#39;</span><span class="p">,</span>
<span class="s">&#39;&quot;py/object&quot;: &quot;kollacli.common.host_group.HostGroup&quot;&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">strip</span><span class="p">():</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">jsonpickle</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
@ -419,27 +250,6 @@
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Saving inventory failed. : {error}&#39;</span><span class="p">)</span>
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
</div>
<span class="k">def</span> <span class="nf">_create_default_inventory</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="c"># create the default groups</span>
<span class="k">for</span> <span class="n">groupname</span> <span class="ow">in</span> <span class="n">DEPLOY_GROUPS</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">add_group</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
<span class="c"># create the default services/sub_services &amp; their default groups</span>
<span class="k">for</span> <span class="n">svcname</span> <span class="ow">in</span> <span class="n">SERVICES</span><span class="p">:</span>
<span class="n">svc</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_service</span><span class="p">(</span><span class="n">svcname</span><span class="p">)</span>
<span class="n">default_grpname</span> <span class="o">=</span> <span class="n">DEFAULT_GROUPS</span><span class="p">[</span><span class="n">svcname</span><span class="p">]</span>
<span class="n">svc</span><span class="o">.</span><span class="n">add_groupname</span><span class="p">(</span><span class="n">default_grpname</span><span class="p">)</span>
<span class="n">sub_svcnames</span> <span class="o">=</span> <span class="n">SERVICES</span><span class="p">[</span><span class="n">svcname</span><span class="p">]</span>
<span class="k">if</span> <span class="n">sub_svcnames</span><span class="p">:</span>
<span class="k">for</span> <span class="n">sub_svcname</span> <span class="ow">in</span> <span class="n">sub_svcnames</span><span class="p">:</span>
<span class="c"># create a subservice</span>
<span class="n">svc</span><span class="o">.</span><span class="n">add_sub_servicename</span><span class="p">(</span><span class="n">sub_svcname</span><span class="p">)</span>
<span class="n">sub_svc</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_sub_service</span><span class="p">(</span><span class="n">sub_svcname</span><span class="p">)</span>
<span class="n">sub_svc</span><span class="o">.</span><span class="n">set_parent_servicename</span><span class="p">(</span><span class="n">svc</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">sub_svc</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="n">DEFAULT_OVERRIDES</span><span class="p">:</span>
<span class="n">sub_svc</span><span class="o">.</span><span class="n">add_groupname</span><span class="p">(</span><span class="n">DEFAULT_OVERRIDES</span><span class="p">[</span><span class="n">sub_svc</span><span class="o">.</span><span class="n">name</span><span class="p">])</span>
<div class="viewcode-block" id="Inventory.get_hosts"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.get_hosts">[docs]</a> <span class="k">def</span> <span class="nf">get_hosts</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_hosts</span><span class="o">.</span><span class="n">values</span><span class="p">()</span>
</div>
@ -726,6 +536,9 @@
</div>
<div class="viewcode-block" id="Inventory.delete_service"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.delete_service">[docs]</a> <span class="k">def</span> <span class="nf">delete_service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">servicename</span><span class="p">):</span>
<span class="k">if</span> <span class="n">servicename</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">:</span>
<span class="n">service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">[</span><span class="n">servicename</span><span class="p">]</span>
<span class="k">for</span> <span class="n">sub_servicename</span> <span class="ow">in</span> <span class="n">service</span><span class="o">.</span><span class="n">get_sub_servicenames</span><span class="p">():</span>
<span class="bp">self</span><span class="o">.</span><span class="n">delete_sub_service</span><span class="p">(</span><span class="n">sub_servicename</span><span class="p">)</span>
<span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">[</span><span class="n">servicename</span><span class="p">]</span>
</div>
<div class="viewcode-block" id="Inventory.get_services"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.get_services">[docs]</a> <span class="k">def</span> <span class="nf">get_services</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@ -769,6 +582,11 @@
</div>
<div class="viewcode-block" id="Inventory.delete_sub_service"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.delete_sub_service">[docs]</a> <span class="k">def</span> <span class="nf">delete_sub_service</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">sub_servicename</span><span class="p">):</span>
<span class="k">if</span> <span class="n">sub_servicename</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">:</span>
<span class="n">sub_service</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">[</span><span class="n">sub_servicename</span><span class="p">]</span>
<span class="n">parentname</span> <span class="o">=</span> <span class="n">sub_service</span><span class="o">.</span><span class="n">get_parent_servicename</span><span class="p">()</span>
<span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">[</span><span class="n">parentname</span><span class="p">]</span>
<span class="k">if</span> <span class="n">sub_servicename</span> <span class="ow">in</span> <span class="n">parent</span><span class="o">.</span><span class="n">_sub_servicenames</span><span class="p">:</span>
<span class="n">parent</span><span class="o">.</span><span class="n">_sub_servicenames</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">sub_servicename</span><span class="p">)</span>
<span class="k">del</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">[</span><span class="n">sub_servicename</span><span class="p">]</span>
</div>
<div class="viewcode-block" id="Inventory.get_sub_services"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.get_sub_services">[docs]</a> <span class="k">def</span> <span class="nf">get_sub_services</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
@ -960,7 +778,16 @@
<span class="n">servicename</span> <span class="ow">not</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">):</span>
<span class="n">invalid_services</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">servicename</span><span class="p">)</span>
<span class="k">if</span> <span class="n">invalid_services</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Service&#39;</span><span class="p">),</span> <span class="n">invalid_services</span><span class="p">)</span></div></div>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Service&#39;</span><span class="p">),</span> <span class="n">invalid_services</span><span class="p">)</span>
</div>
<span class="k">def</span> <span class="nf">_create_default_inventory</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">allin1</span> <span class="o">=</span> <span class="n">AllInOne</span><span class="p">()</span>
<span class="k">for</span> <span class="n">groupname</span> <span class="ow">in</span> <span class="n">allin1</span><span class="o">.</span><span class="n">groups</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">add_group</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
<span class="k">for</span> <span class="n">servicename</span><span class="p">,</span> <span class="n">service</span> <span class="ow">in</span> <span class="n">allin1</span><span class="o">.</span><span class="n">services</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="p">[</span><span class="n">servicename</span><span class="p">]</span> <span class="o">=</span> <span class="n">service</span>
<span class="k">for</span> <span class="n">sub_servicename</span><span class="p">,</span> <span class="n">sub_service</span> <span class="ow">in</span> <span class="n">allin1</span><span class="o">.</span><span class="n">sub_services</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span><span class="p">[</span><span class="n">sub_servicename</span><span class="p">]</span> <span class="o">=</span> <span class="n">sub_service</span></div>
</pre></div>
</div>
@ -994,7 +821,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.passwords &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.passwords &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -149,7 +149,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.properties &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.properties &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -105,8 +105,10 @@
<span class="bp">self</span><span class="o">.</span><span class="n">group_props</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">host_props</span> <span class="o">=</span> <span class="p">{}</span>
<span class="bp">self</span><span class="o">.</span><span class="n">properties_loaded</span> <span class="o">=</span> <span class="bp">False</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span> <span class="o">=</span> <span class="bp">None</span>
<span class="k">def</span> <span class="nf">_load_properties</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_inventory</span><span class="p">()</span>
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">properties_loaded</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_properties_roles</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_properties_all</span><span class="p">()</span>
@ -170,7 +172,11 @@
<span class="k">def</span> <span class="nf">_load_properties_hostvars</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">host_dir</span> <span class="o">=</span> <span class="n">get_host_vars_dir</span><span class="p">()</span>
<span class="n">hostnames</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">()</span>
<span class="k">for</span> <span class="n">hostfile</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">host_dir</span><span class="p">):</span>
<span class="k">if</span> <span class="n">hostfile</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">hostnames</span><span class="p">:</span>
<span class="c"># skip any host files that don&#39;t match existing hosts</span>
<span class="k">continue</span>
<span class="bp">self</span><span class="o">.</span><span class="n">host_props</span><span class="p">[</span><span class="n">hostfile</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">host_dir</span><span class="p">,</span> <span class="n">hostfile</span><span class="p">))</span> <span class="k">as</span> <span class="n">host_data</span><span class="p">:</span>
<span class="n">host_contents</span> <span class="o">=</span> <span class="n">yaml</span><span class="o">.</span><span class="n">safe_load</span><span class="p">(</span><span class="n">host_data</span><span class="p">)</span>
@ -197,12 +203,10 @@
<span class="k">def</span> <span class="nf">_load_properties_groupvars</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">group_dir</span> <span class="o">=</span> <span class="n">get_group_vars_dir</span><span class="p">()</span>
<span class="n">groupnames</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
<span class="k">for</span> <span class="n">groupfile</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">group_dir</span><span class="p">):</span>
<span class="k">if</span> <span class="p">(</span><span class="n">groupfile</span> <span class="o">==</span> <span class="s">&#39;all.yml&#39;</span><span class="p">):</span>
<span class="k">continue</span>
<span class="bp">self</span><span class="o">.</span><span class="n">group_props</span><span class="p">[</span><span class="n">groupfile</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
<span class="c"># don&#39;t load __GLOBAL__ as a group property list as it is globals</span>
<span class="k">if</span> <span class="n">groupfile</span> <span class="o">==</span> <span class="s">&#39;__GLOBAL__&#39;</span><span class="p">:</span>
<span class="k">if</span> <span class="n">groupfile</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">groupnames</span><span class="p">:</span>
<span class="c"># skip any files that don&#39;t match existing groups</span>
<span class="k">continue</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">group_dir</span><span class="p">,</span> <span class="n">groupfile</span><span class="p">))</span> <span class="k">as</span> <span class="n">group_data</span><span class="p">:</span>
<span class="n">group_contents</span> <span class="o">=</span> <span class="n">yaml</span><span class="o">.</span><span class="n">safe_load</span><span class="p">(</span><span class="n">group_data</span><span class="p">)</span>
@ -227,19 +231,22 @@
<span class="n">props</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ansible_prop</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">group_props</span><span class="p">[</span><span class="n">groupfile</span><span class="p">]</span> <span class="o">=</span> <span class="n">props</span>
<span class="k">def</span> <span class="nf">_load_inventory</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span> <span class="c"># nosec</span>
<div class="viewcode-block" id="AnsibleProperties.get_host_list"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.get_host_list">[docs]</a> <span class="k">def</span> <span class="nf">get_host_list</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">host_list</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_properties</span><span class="p">()</span>
<span class="n">prop_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span> <span class="c"># nosec</span>
<span class="k">if</span> <span class="n">host_list</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">for</span> <span class="n">host_name</span> <span class="ow">in</span> <span class="n">host_list</span><span class="p">:</span>
<span class="n">host</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_host</span><span class="p">(</span><span class="n">host_name</span><span class="p">)</span>
<span class="n">host</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_host</span><span class="p">(</span><span class="n">host_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">host</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Host&#39;</span><span class="p">),</span> <span class="n">host_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">host_name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">host_props</span><span class="p">:</span>
<span class="n">prop_list</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">host_props</span><span class="p">[</span><span class="n">host_name</span><span class="p">]</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">hosts</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_hosts</span><span class="p">()</span>
<span class="n">hosts</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_hosts</span><span class="p">()</span>
<span class="k">for</span> <span class="n">host</span> <span class="ow">in</span> <span class="n">hosts</span><span class="p">:</span>
<span class="k">if</span> <span class="n">host</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">host_props</span><span class="p">:</span>
<span class="n">prop_list</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">host_props</span><span class="p">[</span><span class="n">host</span><span class="o">.</span><span class="n">name</span><span class="p">]</span>
@ -248,16 +255,15 @@
<div class="viewcode-block" id="AnsibleProperties.get_group_list"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.get_group_list">[docs]</a> <span class="k">def</span> <span class="nf">get_group_list</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">group_list</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_properties</span><span class="p">()</span>
<span class="n">prop_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span> <span class="c"># nosec</span>
<span class="k">if</span> <span class="n">group_list</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">for</span> <span class="n">group_name</span> <span class="ow">in</span> <span class="n">group_list</span><span class="p">:</span>
<span class="n">group</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_group</span><span class="p">(</span><span class="n">group_name</span><span class="p">)</span>
<span class="n">group</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_group</span><span class="p">(</span><span class="n">group_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">group</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Group&#39;</span><span class="p">),</span> <span class="n">group_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">group_name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">group_props</span><span class="p">:</span>
<span class="n">prop_list</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">group_props</span><span class="p">[</span><span class="n">group_name</span><span class="p">]</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">groups</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_groups</span><span class="p">()</span>
<span class="n">groups</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_groups</span><span class="p">()</span>
<span class="k">for</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">groups</span><span class="p">:</span>
<span class="k">if</span> <span class="n">group</span><span class="o">.</span><span class="n">name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">group_props</span><span class="p">:</span>
<span class="n">prop_list</span> <span class="o">+=</span> <span class="bp">self</span><span class="o">.</span><span class="n">group_props</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">]</span>
@ -306,13 +312,13 @@
</div>
<div class="viewcode-block" id="AnsibleProperties.set_host_property"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.set_host_property">[docs]</a> <span class="k">def</span> <span class="nf">set_host_property</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">property_dict</span><span class="p">,</span> <span class="n">hosts</span><span class="p">):</span>
<span class="c"># if hosts is None set the property on all hosts</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span> <span class="c"># nosec</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_inventory</span><span class="p">()</span>
<span class="n">host_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">if</span> <span class="n">hosts</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">host_list</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_hosts</span><span class="p">()</span>
<span class="n">host_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_hosts</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">for</span> <span class="n">host_name</span> <span class="ow">in</span> <span class="n">hosts</span><span class="p">:</span>
<span class="n">host</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_host</span><span class="p">(</span><span class="n">host_name</span><span class="p">)</span>
<span class="n">host</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_host</span><span class="p">(</span><span class="n">host_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">host</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Host&#39;</span><span class="p">),</span> <span class="n">host_name</span><span class="p">)</span>
<span class="n">host_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">host</span><span class="p">)</span>
@ -326,13 +332,13 @@
</div>
<div class="viewcode-block" id="AnsibleProperties.set_group_property"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.set_group_property">[docs]</a> <span class="k">def</span> <span class="nf">set_group_property</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">property_dict</span><span class="p">,</span> <span class="n">groups</span><span class="p">):</span>
<span class="c"># if groups is None set the property on all hosts</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span> <span class="c"># nosec</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_inventory</span><span class="p">()</span>
<span class="n">group_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">if</span> <span class="n">groups</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">group_list</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_groups</span><span class="p">()</span>
<span class="n">group_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_groups</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">for</span> <span class="n">group_name</span> <span class="ow">in</span> <span class="n">groups</span><span class="p">:</span>
<span class="n">group</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_group</span><span class="p">(</span><span class="n">group_name</span><span class="p">)</span>
<span class="n">group</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_group</span><span class="p">(</span><span class="n">group_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">group</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Group&#39;</span><span class="p">),</span> <span class="n">group_name</span><span class="p">)</span>
<span class="n">group_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
@ -355,13 +361,13 @@
</div>
<div class="viewcode-block" id="AnsibleProperties.clear_host_property"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.clear_host_property">[docs]</a> <span class="k">def</span> <span class="nf">clear_host_property</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">property_list</span><span class="p">,</span> <span class="n">hosts</span><span class="p">):</span>
<span class="c"># if hosts is None set the property on all hosts</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span> <span class="c"># nosec</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_inventory</span><span class="p">()</span>
<span class="n">host_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">if</span> <span class="n">hosts</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">host_list</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_hosts</span><span class="p">()</span>
<span class="n">host_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_hosts</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">for</span> <span class="n">host_name</span> <span class="ow">in</span> <span class="n">hosts</span><span class="p">:</span>
<span class="n">host</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_host</span><span class="p">(</span><span class="n">host_name</span><span class="p">)</span>
<span class="n">host</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_host</span><span class="p">(</span><span class="n">host_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">host</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Host&#39;</span><span class="p">),</span> <span class="n">host_name</span><span class="p">)</span>
<span class="n">host_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">host</span><span class="p">)</span>
@ -375,13 +381,13 @@
</div>
<div class="viewcode-block" id="AnsibleProperties.clear_group_property"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.clear_group_property">[docs]</a> <span class="k">def</span> <span class="nf">clear_group_property</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">property_list</span><span class="p">,</span> <span class="n">groups</span><span class="p">):</span>
<span class="c"># if hosts is None set the property on all hosts</span>
<span class="n">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span> <span class="c"># nosec</span>
<span class="bp">self</span><span class="o">.</span><span class="n">_load_inventory</span><span class="p">()</span>
<span class="n">group_list</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">if</span> <span class="n">groups</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="n">group_list</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_groups</span><span class="p">()</span>
<span class="n">group_list</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_groups</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
<span class="k">for</span> <span class="n">group_name</span> <span class="ow">in</span> <span class="n">groups</span><span class="p">:</span>
<span class="n">group</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">get_group</span><span class="p">(</span><span class="n">group_name</span><span class="p">)</span>
<span class="n">group</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_inventory</span><span class="o">.</span><span class="n">get_group</span><span class="p">(</span><span class="n">group_name</span><span class="p">)</span>
<span class="k">if</span> <span class="n">group</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">NotInInventory</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Group&#39;</span><span class="p">),</span> <span class="n">group_name</span><span class="p">)</span>
<span class="n">group_list</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">group</span><span class="p">)</span>
@ -452,7 +458,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.sshutils &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.sshutils &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -176,7 +176,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.support &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.support &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -92,7 +92,8 @@
<span class="n">err_msg</span><span class="p">,</span> <span class="n">output</span> <span class="o">=</span> \
<span class="bp">self</span><span class="o">.</span><span class="n">inventory</span><span class="o">.</span><span class="n">run_ansible_command</span><span class="p">(</span><span class="s">&#39;-a &quot;docker ps -a&quot;&#39;</span><span class="p">,</span> <span class="n">hostname</span><span class="p">)</span>
<span class="k">if</span> <span class="n">err_msg</span><span class="p">:</span>
<span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;Error accessing host </span><span class="si">%s</span><span class="s"> : </span><span class="si">%s</span><span class="s"> &#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">err_msg</span><span class="p">)</span>
<span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;Error accessing host </span><span class="si">%s</span><span class="s"> : </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">err_msg</span><span class="p">,</span>
<span class="n">output</span><span class="p">)</span>
<span class="k">raise</span> <span class="n">FailedOperation</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">output</span><span class="p">:</span>
@ -315,7 +316,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.utils &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.utils &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../../index.html" />
<link rel="up" title="Module code" href="../../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -79,6 +79,25 @@
<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="n">__name__</span><span class="p">)</span>
<div class="viewcode-block" id="get_log_level"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_log_level">[docs]</a><span class="k">def</span> <span class="nf">get_log_level</span><span class="p">():</span>
<span class="n">evar</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;KOLLA_LOG_LEVEL&#39;</span><span class="p">,</span> <span class="s">&#39;info&#39;</span><span class="p">)</span>
<span class="k">if</span> <span class="n">evar</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="o">==</span> <span class="s">&#39;debug&#39;</span><span class="p">:</span>
<span class="n">level</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">DEBUG</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">level</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">INFO</span>
<span class="k">return</span> <span class="n">level</span>
</div>
<div class="viewcode-block" id="get_ansible_plugin_dir"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_ansible_plugin_dir">[docs]</a><span class="k">def</span> <span class="nf">get_ansible_plugin_dir</span><span class="p">():</span>
<span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;ANSIBLE_PLUGINS&quot;</span><span class="p">,</span>
<span class="s">&quot;/usr/share/ansible/plugins/callback/&quot;</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="get_ansible_etc"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_ansible_etc">[docs]</a><span class="k">def</span> <span class="nf">get_ansible_etc</span><span class="p">():</span>
<span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;ANSIBLE_ETC&quot;</span><span class="p">,</span>
<span class="s">&quot;/etc/ansible/&quot;</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="get_kolla_home"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_kolla_home">[docs]</a><span class="k">def</span> <span class="nf">get_kolla_home</span><span class="p">():</span>
<span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&quot;KOLLA_HOME&quot;</span><span class="p">,</span> <span class="s">&quot;/usr/share/kolla/&quot;</span><span class="p">)</span>
@ -108,7 +127,7 @@
</div>
<div class="viewcode-block" id="get_ansible_lock_path"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_ansible_lock_path">[docs]</a><span class="k">def</span> <span class="nf">get_ansible_lock_path</span><span class="p">():</span>
<span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">get_kollacli_etc</span><span class="p">(),</span> <span class="s">&#39;ansible/ansible.lock&#39;</span><span class="p">)</span>
<span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">get_kollacli_home</span><span class="p">(),</span> <span class="s">&#39;ansible.lock&#39;</span><span class="p">)</span>
</div>
<div class="viewcode-block" id="get_kolla_actions_path"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_kolla_actions_path">[docs]</a><span class="k">def</span> <span class="nf">get_kolla_actions_path</span><span class="p">():</span>
@ -390,13 +409,17 @@
<span class="c"># None arg</span>
<span class="k">raise</span> <span class="n">MissingArgument</span><span class="p">(</span><span class="n">param_name</span><span class="p">)</span>
<span class="k">if</span> <span class="p">((</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">param</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="ow">or</span>
<span class="k">if</span> <span class="p">((</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">param</span><span class="p">,</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span><span class="p">)</span> <span class="ow">or</span>
<span class="nb">isinstance</span><span class="p">(</span><span class="n">param</span><span class="p">,</span> <span class="nb">dict</span><span class="p">)</span> <span class="ow">or</span>
<span class="nb">isinstance</span><span class="p">(</span><span class="n">param</span><span class="p">,</span> <span class="nb">list</span><span class="p">))</span> <span class="ow">and</span>
<span class="ow">not</span> <span class="n">param</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">empty_ok</span><span class="p">):</span>
<span class="c"># empty string, dict or list</span>
<span class="k">raise</span> <span class="n">MissingArgument</span><span class="p">(</span><span class="n">param_name</span><span class="p">)</span>
<span class="c"># normalize expected string types for py2 and py3</span>
<span class="k">if</span> <span class="n">expected_type</span> <span class="ow">is</span> <span class="nb">str</span><span class="p">:</span>
<span class="n">expected_type</span> <span class="o">=</span> <span class="n">six</span><span class="o">.</span><span class="n">string_types</span>
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">param</span><span class="p">,</span> <span class="n">expected_type</span><span class="p">):</span>
<span class="c"># wrong type</span>
<span class="k">raise</span> <span class="n">InvalidArgument</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;{name} ({param}) is not a {type}&#39;</span><span class="p">)</span>
@ -509,8 +532,12 @@
<span class="k">return</span> <span class="bp">True</span>
<span class="k">def</span> <span class="nf">_release_flock</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">fcntl</span><span class="o">.</span><span class="n">flock</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fd</span><span class="p">,</span> <span class="n">fcntl</span><span class="o">.</span><span class="n">LOCK_UN</span><span class="p">)</span>
<span class="n">os</span><span class="o">.</span><span class="n">close</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fd</span><span class="p">)</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">fcntl</span><span class="o">.</span><span class="n">flock</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fd</span><span class="p">,</span> <span class="n">fcntl</span><span class="o">.</span><span class="n">LOCK_UN</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">&#39;Exception while releasing lock: </span><span class="si">%s</span><span class="s">&#39;</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
<span class="k">finally</span><span class="p">:</span>
<span class="n">os</span><span class="o">.</span><span class="n">close</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">fd</span><span class="p">)</span>
<span class="k">return</span> <span class="bp">True</span>
</div>
@ -572,7 +599,7 @@
<li class="right" >
<a href="../../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.shell &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.shell &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="../../_static/default.css" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../../',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="../../index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="../../index.html" />
<link rel="up" title="Module code" href="../index.html" />
</head>
<body>
@ -36,7 +36,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../index.html" accesskey="U">Module code</a> &raquo;</li>
</ul>
</div>
@ -77,12 +77,14 @@
<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="n">__name__</span><span class="p">)</span>
<span class="n">VERSION</span> <span class="o">=</span> <span class="s">&#39;0.3&#39;</span>
<div class="viewcode-block" id="KollaCli"><a class="viewcode-back" href="../../kollacli.html#kollacli.shell.KollaCli">[docs]</a><span class="k">class</span> <span class="nc">KollaCli</span><span class="p">(</span><span class="n">App</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">super</span><span class="p">(</span><span class="n">KollaCli</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span>
<span class="n">description</span><span class="o">=</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s">&#39;Command-Line Client for OpenStack Kolla&#39;</span><span class="p">),</span>
<span class="n">version</span><span class="o">=</span><span class="s">&#39;0.2&#39;</span><span class="p">,</span>
<span class="n">version</span><span class="o">=</span><span class="n">VERSION</span><span class="p">,</span>
<span class="n">command_manager</span><span class="o">=</span><span class="n">CommandManager</span><span class="p">(</span><span class="s">&#39;kolla.cli&#39;</span><span class="p">),</span>
<span class="p">)</span>
@ -144,7 +146,7 @@
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="../../index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
<li><a href="../index.html" >Module code</a> &raquo;</li>
</ul>
</div>

View File

@ -11,6 +11,30 @@ Subpackages
Submodules
----------
kollacli.common.allinone module
-------------------------------
.. automodule:: kollacli.common.allinone
:members:
:undoc-members:
:show-inheritance:
kollacli.common.host module
---------------------------
.. automodule:: kollacli.common.host
:members:
:undoc-members:
:show-inheritance:
kollacli.common.host_group module
---------------------------------
.. automodule:: kollacli.common.host_group
:members:
:undoc-members:
:show-inheritance:
kollacli.common.inventory module
--------------------------------
@ -35,6 +59,14 @@ kollacli.common.properties module
:undoc-members:
:show-inheritance:
kollacli.common.service module
------------------------------
.. automodule:: kollacli.common.service
:members:
:undoc-members:
:show-inheritance:
kollacli.common.sshutils module
-------------------------------
@ -43,6 +75,14 @@ kollacli.common.sshutils module
:undoc-members:
:show-inheritance:
kollacli.common.subservice module
---------------------------------
.. automodule:: kollacli.common.subservice
:members:
:undoc-members:
:show-inheritance:
kollacli.common.support module
------------------------------

View File

@ -7,7 +7,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Index &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>Index &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -15,7 +15,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -24,7 +24,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
</head>
<body>
<div class="related">
@ -36,7 +36,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -81,20 +81,26 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.add_group">add_group() (kollacli.common.inventory.Inventory method)</a>
<dt><a href="kollacli.common.html#kollacli.common.allinone.AllInOne.add_group">add_group() (kollacli.common.allinone.AllInOne method)</a>
</dt>
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.add_group">(kollacli.common.inventory.Inventory method)</a>
</dt>
</dl></dd>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.add_group_to_service">add_group_to_service() (kollacli.common.inventory.Inventory method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.add_groupname">add_groupname() (kollacli.common.inventory.Service method)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.add_groupname">add_groupname() (kollacli.common.service.Service method)</a>
</dt>
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.add_groupname">(kollacli.common.inventory.SubService method)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.add_groupname">(kollacli.common.subservice.SubService method)</a>
</dt>
</dl></dd>
@ -104,7 +110,7 @@
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.add_host">(kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.add_host">(kollacli.common.host_group.HostGroup method)</a>
</dt>
@ -116,17 +122,31 @@
<dt><a href="kollacli.api.html#kollacli.api.group.GroupApi.Group.add_service">add_service() (kollacli.api.group.GroupApi.Group method)</a>
</dt>
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.allinone.AllInOne.add_service">(kollacli.common.allinone.AllInOne method)</a>
</dt>
</dl></dd>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.add_sub_servicename">add_sub_servicename() (kollacli.common.inventory.Service method)</a>
<dt><a href="kollacli.common.html#kollacli.common.allinone.AllInOne.add_sub_service">add_sub_service() (kollacli.common.allinone.AllInOne method)</a>
</dt>
<dt><a href="kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob">AnsibleJob (class in kollacli.common.ansible.job)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.add_sub_servicename">add_sub_servicename() (kollacli.common.service.Service method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.allinone.AllInOne">AllInOne (class in kollacli.common.allinone)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob">AnsibleJob (class in kollacli.common.ansible.job)</a>
</dt>
<dt><a href="kollacli.common.ansible.html#kollacli.common.ansible.playbook.AnsiblePlaybook">AnsiblePlaybook (class in kollacli.common.ansible.playbook)</a>
</dt>
@ -183,12 +203,12 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Host.class_version">class_version (kollacli.common.inventory.Host attribute)</a>
<dt><a href="kollacli.common.html#kollacli.common.host.Host.class_version">class_version (kollacli.common.host.Host attribute)</a>
</dt>
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.class_version">(kollacli.common.inventory.HostGroup attribute)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.class_version">(kollacli.common.host_group.HostGroup attribute)</a>
</dt>
@ -196,11 +216,11 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.class_version">(kollacli.common.inventory.Service attribute)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.class_version">(kollacli.common.service.Service attribute)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.class_version">(kollacli.common.inventory.SubService attribute)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.class_version">(kollacli.common.subservice.SubService attribute)</a>
</dt>
</dl></dd>
@ -221,7 +241,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.clear_var">clear_var() (kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.clear_var">clear_var() (kollacli.common.host_group.HostGroup method)</a>
</dt>
</dl></td>
@ -369,6 +389,10 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.utils.get_ansible_etc">get_ansible_etc() (in module kollacli.common.utils)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.get_ansible_json">get_ansible_json() (kollacli.common.inventory.Inventory method)</a>
</dt>
@ -377,6 +401,10 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.utils.get_ansible_plugin_dir">get_ansible_plugin_dir() (in module kollacli.common.utils)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.utils.PidManager.get_child_pids">get_child_pids() (kollacli.common.utils.PidManager static method)</a>
</dt>
@ -428,11 +456,11 @@
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.get_groupnames">(kollacli.common.inventory.Service method)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.get_groupnames">(kollacli.common.service.Service method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.get_groupnames">(kollacli.common.inventory.SubService method)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.get_groupnames">(kollacli.common.subservice.SubService method)</a>
</dt>
</dl></dd>
@ -467,7 +495,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.get_hostnames">get_hostnames() (kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.get_hostnames">get_hostnames() (kollacli.common.host_group.HostGroup method)</a>
</dt>
<dd><dl>
@ -521,6 +549,10 @@
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="kollacli.common.html#kollacli.common.utils.get_log_level">get_log_level() (in module kollacli.common.utils)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.support.get_logs">get_logs() (in module kollacli.common.support)</a>
</dt>
@ -543,7 +575,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.get_parent_servicename">get_parent_servicename() (kollacli.common.inventory.SubService method)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.get_parent_servicename">get_parent_servicename() (kollacli.common.subservice.SubService method)</a>
</dt>
@ -685,7 +717,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.get_sub_servicenames">get_sub_servicenames() (kollacli.common.inventory.Service method)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.get_sub_servicenames">get_sub_servicenames() (kollacli.common.service.Service method)</a>
</dt>
@ -693,24 +725,28 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Host.get_vars">get_vars() (kollacli.common.inventory.Host method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host.Host.get_vars">get_vars() (kollacli.common.host.Host method)</a>
</dt>
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.get_vars">(kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.get_vars">(kollacli.common.host_group.HostGroup method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.get_vars">(kollacli.common.inventory.Service method)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.get_vars">(kollacli.common.service.Service method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.get_vars">(kollacli.common.inventory.SubService method)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.get_vars">(kollacli.common.subservice.SubService method)</a>
</dt>
</dl></dd>
<dt><a href="kollacli.api.html#kollacli.api.client.ClientApi.get_version">get_version() (kollacli.api.client.ClientApi method)</a>
</dt>
<dt><a href="kollacli.api.html#kollacli.api.group.GroupApi.group_add">group_add() (kollacli.api.group.GroupApi method)</a>
</dt>
@ -777,7 +813,7 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Host">Host (class in kollacli.common.inventory)</a>
<dt><a href="kollacli.common.html#kollacli.common.host.Host">Host (class in kollacli.common.host)</a>
</dt>
@ -831,7 +867,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup">HostGroup (class in kollacli.common.inventory)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup">HostGroup (class in kollacli.common.host_group)</a>
</dt>
@ -904,6 +940,12 @@
<dt><a href="kollacli.api.html#kollacli.api.job.Job">Job (class in kollacli.api.job)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob.json_load">json_load() (kollacli.common.ansible.job.AnsibleJob method)</a>
</dt>
</dl></td>
</tr></table>
@ -992,8 +1034,6 @@
<dt><a href="kollacli.commands.html#module-kollacli.commands.group">kollacli.commands.group (module)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="kollacli.commands.html#module-kollacli.commands.host">kollacli.commands.host (module)</a>
</dt>
@ -1006,6 +1046,8 @@
<dt><a href="kollacli.commands.html#module-kollacli.commands.property">kollacli.commands.property (module)</a>
</dt>
</dl></td>
<td style="width: 33%" valign="top"><dl>
<dt><a href="kollacli.commands.html#module-kollacli.commands.service">kollacli.commands.service (module)</a>
</dt>
@ -1023,6 +1065,10 @@
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.allinone">kollacli.common.allinone (module)</a>
</dt>
<dt><a href="kollacli.common.ansible.html#module-kollacli.common.ansible">kollacli.common.ansible (module)</a>
</dt>
@ -1039,6 +1085,14 @@
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.host">kollacli.common.host (module)</a>
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.host_group">kollacli.common.host_group (module)</a>
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.inventory">kollacli.common.inventory (module)</a>
</dt>
@ -1051,10 +1105,18 @@
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.service">kollacli.common.service (module)</a>
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.sshutils">kollacli.common.sshutils (module)</a>
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.subservice">kollacli.common.subservice (module)</a>
</dt>
<dt><a href="kollacli.common.html#module-kollacli.common.support">kollacli.common.support (module)</a>
</dt>
@ -1233,12 +1295,12 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.remove_groupname">remove_groupname() (kollacli.common.inventory.Service method)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.remove_groupname">remove_groupname() (kollacli.common.service.Service method)</a>
</dt>
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.remove_groupname">(kollacli.common.inventory.SubService method)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.remove_groupname">(kollacli.common.subservice.SubService method)</a>
</dt>
</dl></dd>
@ -1248,7 +1310,7 @@
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.remove_host">(kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.remove_host">(kollacli.common.host_group.HostGroup method)</a>
</dt>
@ -1307,7 +1369,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service">Service (class in kollacli.common.inventory)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service">Service (class in kollacli.common.service)</a>
</dt>
@ -1359,7 +1421,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.set_parent_servicename">set_parent_servicename() (kollacli.common.inventory.SubService method)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.set_parent_servicename">set_parent_servicename() (kollacli.common.subservice.SubService method)</a>
</dt>
@ -1373,16 +1435,16 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.set_remote">set_remote() (kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.set_remote">set_remote() (kollacli.common.host_group.HostGroup method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Host.set_var">set_var() (kollacli.common.inventory.Host method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host.Host.set_var">set_var() (kollacli.common.host.Host method)</a>
</dt>
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.set_var">(kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.set_var">(kollacli.common.host_group.HostGroup method)</a>
</dt>
</dl></dd>
@ -1419,7 +1481,7 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService">SubService (class in kollacli.common.inventory)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService">SubService (class in kollacli.common.subservice)</a>
</dt>
@ -1580,11 +1642,11 @@
<dd><dl>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Host.upgrade">(kollacli.common.inventory.Host method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host.Host.upgrade">(kollacli.common.host.Host method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.HostGroup.upgrade">(kollacli.common.inventory.HostGroup method)</a>
<dt><a href="kollacli.common.html#kollacli.common.host_group.HostGroup.upgrade">(kollacli.common.host_group.HostGroup method)</a>
</dt>
@ -1592,11 +1654,11 @@
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.Service.upgrade">(kollacli.common.inventory.Service method)</a>
<dt><a href="kollacli.common.html#kollacli.common.service.Service.upgrade">(kollacli.common.service.Service method)</a>
</dt>
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.upgrade">(kollacli.common.inventory.SubService method)</a>
<dt><a href="kollacli.common.html#kollacli.common.subservice.SubService.upgrade">(kollacli.common.subservice.SubService method)</a>
</dt>
</dl></dd>
@ -1693,7 +1755,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to kollaclis documentation! &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>Welcome to kollaclis documentation! &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="#" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="#" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="#">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="#">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -104,7 +104,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="#">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="#">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.api package &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.api package &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -167,6 +167,11 @@ level: logging.INFO, logging.DEBUG, logging.WARNING,
logging.CRITICAL...</p>
</dd></dl>
<dl class="method">
<dt id="kollacli.api.client.ClientApi.get_version">
<tt class="descname">get_version</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/api/client.html#ClientApi.get_version"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.client.ClientApi.get_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
@ -183,6 +188,8 @@ logging.CRITICAL...</p>
<p>Set deploy mode to either local or remote. Local indicates
that the openstack deployment will be to the local host.
Remote means that the deployment is executed via ssh.</p>
<p>NOTE: local mode is not supported and should never be used
in production environments.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
@ -460,6 +467,9 @@ Remote means that the deployment is executed via ssh.</p>
</tr>
</tbody>
</table>
<p>Note: If the groups associated with this host change after this
host is fetched, the host must be re-fetched to reflect those
changes.</p>
</dd></dl>
<dl class="method">
@ -546,16 +556,18 @@ Remote means that the deployment is executed via ssh.</p>
<dt id="kollacli.api.host.HostApi.host_setup">
<tt class="descclassname">HostApi.</tt><tt class="descname">host_setup</tt><big>(</big><em>hosts_info</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/host.html#HostApi.host_setup"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.host.HostApi.host_setup" title="Permalink to this definition"></a></dt>
<dd><p>Setup multiple hosts for ssh access</p>
<p>hosts_info is a dictionary of form:
{hostname&#8217;: {</p>
<blockquote>
<div><blockquote>
<div>&#8216;password&#8217;: password
&#8216;uname&#8217;: user_name},</div></blockquote>
<p>...</p>
</div></blockquote>
<p>}
The uname entry is optional.</p>
<dl class="docutils">
<dt>hosts_info is a dictionary of form:</dt>
<dd><ul class="first last simple">
<li>{hostname&#8217;: {
&#8216;password&#8217;: password
&#8216;uname&#8217;: user_name},
...
}</li>
</ul>
</dd>
</dl>
<p>The uname entry is optional.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
@ -570,17 +582,17 @@ The uname entry is optional.</p>
<dt id="kollacli.api.host.HostApi.host_ssh_check">
<tt class="descclassname">HostApi.</tt><tt class="descname">host_ssh_check</tt><big>(</big><em>hostnames</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/host.html#HostApi.host_ssh_check"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.host.HostApi.host_ssh_check" title="Permalink to this definition"></a></dt>
<dd><p>Check hosts for ssh connectivity</p>
<p>Check status is a dictionary of form:
- {hostname: {</p>
<blockquote>
<div><blockquote>
<div><blockquote>
<div>&#8216;success&#8217;:&lt;True|False&gt;,
&#8216;msg&#8217;:message_string},</div></blockquote>
<p>...</p>
</div></blockquote>
<p>}</p>
</div></blockquote>
<dl class="docutils">
<dt>Check status is a dictionary of form:</dt>
<dd><ul class="first last simple">
<li>{hostname: {
&#8216;success&#8217;:&lt;True|False&gt;,
&#8216;msg&#8217;:message_string},
...
}</li>
</ul>
</dd>
</dl>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
@ -908,6 +920,9 @@ represented:</p>
</tr>
</tbody>
</table>
<p>Note: If the groups associated with this service change after this
service is fetched, the service must be re-fetched to reflect those
changes.</p>
</dd></dl>
<dl class="method">
@ -1096,7 +1111,7 @@ names for each log will be servicename_id.log.</p>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.commands package &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.commands package &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -601,7 +601,7 @@ debugging problems.</p>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common.ansible package &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common.ansible package &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -108,6 +108,11 @@ which can either be &#8216;stop&#8217; or &#8216;kill&#8217;.</p>
- 2: done, killed by user</p>
</dd></dl>
<dl class="method">
<dt id="kollacli.common.ansible.job.AnsibleJob.json_load">
<tt class="descname">json_load</tt><big>(</big><em>string_var</em>, <em>raise_on_err=False</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/ansible/job.html#AnsibleJob.json_load"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.ansible.job.AnsibleJob.json_load" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.ansible.job.AnsibleJob.kill">
<tt class="descname">kill</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/ansible/job.html#AnsibleJob.kill"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.ansible.job.AnsibleJob.kill" title="Permalink to this definition"></a></dt>
@ -259,7 +264,7 @@ that is not killable. Need to kill all its children.</p>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli.common package &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli.common package &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -63,86 +63,119 @@
</div>
<div class="section" id="submodules">
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="module-kollacli.common.allinone">
<span id="kollacli-common-allinone-module"></span><h2>kollacli.common.allinone module<a class="headerlink" href="#module-kollacli.common.allinone" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="kollacli.common.allinone.AllInOne">
<em class="property">class </em><tt class="descclassname">kollacli.common.allinone.</tt><tt class="descname">AllInOne</tt><a class="reference internal" href="_modules/kollacli/common/allinone.html#AllInOne"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.allinone.AllInOne" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<p>AllInOne helper class</p>
<p>This class parses the kolla all-in-one file and provides an
easier to use way to represent that file.</p>
<dl class="method">
<dt id="kollacli.common.allinone.AllInOne.add_group">
<tt class="descname">add_group</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/allinone.html#AllInOne.add_group"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.allinone.AllInOne.add_group" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.allinone.AllInOne.add_service">
<tt class="descname">add_service</tt><big>(</big><em>servicename</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/allinone.html#AllInOne.add_service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.allinone.AllInOne.add_service" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.allinone.AllInOne.add_sub_service">
<tt class="descname">add_sub_service</tt><big>(</big><em>sub_servicename</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/allinone.html#AllInOne.add_sub_service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.allinone.AllInOne.add_sub_service" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-kollacli.common.host">
<span id="kollacli-common-host-module"></span><h2>kollacli.common.host module<a class="headerlink" href="#module-kollacli.common.host" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="kollacli.common.host.Host">
<em class="property">class </em><tt class="descclassname">kollacli.common.host.</tt><tt class="descname">Host</tt><big>(</big><em>hostname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host.html#Host"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host.Host" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="attribute">
<dt id="kollacli.common.host.Host.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.host.Host.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host.Host.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/host.html#Host.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host.Host.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host.Host.set_var">
<tt class="descname">set_var</tt><big>(</big><em>name</em>, <em>value</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host.html#Host.set_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host.Host.set_var" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host.Host.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/host.html#Host.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host.Host.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-kollacli.common.host_group">
<span id="kollacli-common-host-group-module"></span><h2>kollacli.common.host_group module<a class="headerlink" href="#module-kollacli.common.host_group" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="kollacli.common.host_group.HostGroup">
<em class="property">class </em><tt class="descclassname">kollacli.common.host_group.</tt><tt class="descname">HostGroup</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.add_host">
<tt class="descname">add_host</tt><big>(</big><em>host</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.add_host"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.add_host" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="kollacli.common.host_group.HostGroup.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.host_group.HostGroup.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.clear_var">
<tt class="descname">clear_var</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.clear_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.clear_var" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.get_hostnames">
<tt class="descname">get_hostnames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.get_hostnames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.get_hostnames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.remove_host">
<tt class="descname">remove_host</tt><big>(</big><em>host</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.remove_host"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.remove_host" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.set_remote">
<tt class="descname">set_remote</tt><big>(</big><em>remote_flag</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.set_remote"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.set_remote" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.set_var">
<tt class="descname">set_var</tt><big>(</big><em>name</em>, <em>value</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.set_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.set_var" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.host_group.HostGroup.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/host_group.html#HostGroup.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.host_group.HostGroup.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-kollacli.common.inventory">
<span id="kollacli-common-inventory-module"></span><h2>kollacli.common.inventory module<a class="headerlink" href="#module-kollacli.common.inventory" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="kollacli.common.inventory.Host">
<em class="property">class </em><tt class="descclassname">kollacli.common.inventory.</tt><tt class="descname">Host</tt><big>(</big><em>hostname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Host"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Host" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="attribute">
<dt id="kollacli.common.inventory.Host.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.inventory.Host.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Host.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Host.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Host.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Host.set_var">
<tt class="descname">set_var</tt><big>(</big><em>name</em>, <em>value</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Host.set_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Host.set_var" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Host.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Host.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Host.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="kollacli.common.inventory.HostGroup">
<em class="property">class </em><tt class="descclassname">kollacli.common.inventory.</tt><tt class="descname">HostGroup</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.add_host">
<tt class="descname">add_host</tt><big>(</big><em>host</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.add_host"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.add_host" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="kollacli.common.inventory.HostGroup.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.inventory.HostGroup.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.clear_var">
<tt class="descname">clear_var</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.clear_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.clear_var" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.get_hostnames">
<tt class="descname">get_hostnames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.get_hostnames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.get_hostnames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.remove_host">
<tt class="descname">remove_host</tt><big>(</big><em>host</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.remove_host"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.remove_host" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.set_remote">
<tt class="descname">set_remote</tt><big>(</big><em>remote_flag</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.set_remote"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.set_remote" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.set_var">
<tt class="descname">set_var</tt><big>(</big><em>name</em>, <em>value</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.set_var"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.set_var" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.HostGroup.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#HostGroup.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.HostGroup.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="kollacli.common.inventory.Inventory">
<em class="property">class </em><tt class="descclassname">kollacli.common.inventory.</tt><tt class="descname">Inventory</tt><a class="reference internal" href="_modules/kollacli/common/inventory.html#Inventory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Inventory" title="Permalink to this definition"></a></dt>
@ -169,7 +202,16 @@ if group name is not none, add host to group</p>
<dt id="kollacli.common.inventory.Inventory.class_version">
<tt class="descname">class_version</tt><em class="property"> = 3</em><a class="headerlink" href="#kollacli.common.inventory.Inventory.class_version" title="Permalink to this definition"></a></dt>
<dd><p>class version history</p>
<p>1: initial release</p>
<dl class="docutils">
<dt>3: (v3.0.1):</dt>
<dd><ul class="first last simple">
<li>added aodh, ceph</li>
<li>fix to ensure all sub-services have service as parent</li>
</ul>
</dd>
</dl>
<p>2: (v2.1.1) added ceilometer
1: (v2.0.1) initial release</p>
</dd></dl>
<dl class="method">
@ -437,98 +479,6 @@ The uname entry is optional.</p>
</dd></dl>
<dl class="class">
<dt id="kollacli.common.inventory.Service">
<em class="property">class </em><tt class="descclassname">kollacli.common.inventory.</tt><tt class="descname">Service</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="method">
<dt id="kollacli.common.inventory.Service.add_groupname">
<tt class="descname">add_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service.add_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service.add_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Service.add_sub_servicename">
<tt class="descname">add_sub_servicename</tt><big>(</big><em>sub_servicename</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service.add_sub_servicename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service.add_sub_servicename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="kollacli.common.inventory.Service.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.inventory.Service.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Service.get_groupnames">
<tt class="descname">get_groupnames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service.get_groupnames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service.get_groupnames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Service.get_sub_servicenames">
<tt class="descname">get_sub_servicenames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service.get_sub_servicenames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service.get_sub_servicenames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Service.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Service.remove_groupname">
<tt class="descname">remove_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service.remove_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service.remove_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.Service.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Service.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Service.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="kollacli.common.inventory.SubService">
<em class="property">class </em><tt class="descclassname">kollacli.common.inventory.</tt><tt class="descname">SubService</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="method">
<dt id="kollacli.common.inventory.SubService.add_groupname">
<tt class="descname">add_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService.add_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService.add_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="kollacli.common.inventory.SubService.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.inventory.SubService.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.SubService.get_groupnames">
<tt class="descname">get_groupnames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService.get_groupnames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService.get_groupnames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.SubService.get_parent_servicename">
<tt class="descname">get_parent_servicename</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService.get_parent_servicename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService.get_parent_servicename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.SubService.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.SubService.remove_groupname">
<tt class="descname">remove_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService.remove_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService.remove_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.SubService.set_parent_servicename">
<tt class="descname">set_parent_servicename</tt><big>(</big><em>parent_svc_name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService.set_parent_servicename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService.set_parent_servicename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.inventory.SubService.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#SubService.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.SubService.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="kollacli.common.inventory.remove_temp_inventory">
<tt class="descclassname">kollacli.common.inventory.</tt><tt class="descname">remove_temp_inventory</tt><big>(</big><em>path</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#remove_temp_inventory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.remove_temp_inventory" title="Permalink to this definition"></a></dt>
@ -640,6 +590,55 @@ If it doesn&#8217;t exist, a new password will be added.</p>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
</dd></dl>
</div>
<div class="section" id="module-kollacli.common.service">
<span id="kollacli-common-service-module"></span><h2>kollacli.common.service module<a class="headerlink" href="#module-kollacli.common.service" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="kollacli.common.service.Service">
<em class="property">class </em><tt class="descclassname">kollacli.common.service.</tt><tt class="descname">Service</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="method">
<dt id="kollacli.common.service.Service.add_groupname">
<tt class="descname">add_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service.add_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service.add_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.service.Service.add_sub_servicename">
<tt class="descname">add_sub_servicename</tt><big>(</big><em>sub_servicename</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service.add_sub_servicename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service.add_sub_servicename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="kollacli.common.service.Service.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.service.Service.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.service.Service.get_groupnames">
<tt class="descname">get_groupnames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service.get_groupnames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service.get_groupnames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.service.Service.get_sub_servicenames">
<tt class="descname">get_sub_servicenames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service.get_sub_servicenames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service.get_sub_servicenames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.service.Service.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.service.Service.remove_groupname">
<tt class="descname">remove_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service.remove_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service.remove_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.service.Service.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/service.html#Service.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.service.Service.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-kollacli.common.sshutils">
<span id="kollacli-common-sshutils-module"></span><h2>kollacli.common.sshutils module<a class="headerlink" href="#module-kollacli.common.sshutils" title="Permalink to this headline"></a></h2>
@ -658,6 +657,55 @@ If it doesn&#8217;t exist, a new password will be added.</p>
<tt class="descclassname">kollacli.common.sshutils.</tt><tt class="descname">ssh_setup_host</tt><big>(</big><em>net_addr</em>, <em>password</em>, <em>setup_user=None</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/sshutils.html#ssh_setup_host"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.sshutils.ssh_setup_host" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</div>
<div class="section" id="module-kollacli.common.subservice">
<span id="kollacli-common-subservice-module"></span><h2>kollacli.common.subservice module<a class="headerlink" href="#module-kollacli.common.subservice" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="kollacli.common.subservice.SubService">
<em class="property">class </em><tt class="descclassname">kollacli.common.subservice.</tt><tt class="descname">SubService</tt><big>(</big><em>name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
<dl class="method">
<dt id="kollacli.common.subservice.SubService.add_groupname">
<tt class="descname">add_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService.add_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService.add_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="kollacli.common.subservice.SubService.class_version">
<tt class="descname">class_version</tt><em class="property"> = 1</em><a class="headerlink" href="#kollacli.common.subservice.SubService.class_version" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.subservice.SubService.get_groupnames">
<tt class="descname">get_groupnames</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService.get_groupnames"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService.get_groupnames" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.subservice.SubService.get_parent_servicename">
<tt class="descname">get_parent_servicename</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService.get_parent_servicename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService.get_parent_servicename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.subservice.SubService.get_vars">
<tt class="descname">get_vars</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService.get_vars"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService.get_vars" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.subservice.SubService.remove_groupname">
<tt class="descname">remove_groupname</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService.remove_groupname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService.remove_groupname" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.subservice.SubService.set_parent_servicename">
<tt class="descname">set_parent_servicename</tt><big>(</big><em>parent_svc_name</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService.set_parent_servicename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService.set_parent_servicename" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="kollacli.common.subservice.SubService.upgrade">
<tt class="descname">upgrade</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/subservice.html#SubService.upgrade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.subservice.SubService.upgrade" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>
<div class="section" id="module-kollacli.common.support">
<span id="kollacli-common-support-module"></span><h2>kollacli.common.support module<a class="headerlink" href="#module-kollacli.common.support" title="Permalink to this headline"></a></h2>
@ -804,11 +852,21 @@ python is py3, prefix the ansible command with a py2
interpreter.</p>
</dd></dl>
<dl class="function">
<dt id="kollacli.common.utils.get_ansible_etc">
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">get_ansible_etc</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#get_ansible_etc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.get_ansible_etc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="kollacli.common.utils.get_ansible_lock_path">
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">get_ansible_lock_path</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#get_ansible_lock_path"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.get_ansible_lock_path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="kollacli.common.utils.get_ansible_plugin_dir">
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">get_ansible_plugin_dir</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#get_ansible_plugin_dir"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.get_ansible_plugin_dir" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="kollacli.common.utils.get_group_vars_dir">
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">get_group_vars_dir</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#get_group_vars_dir"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.get_group_vars_dir" title="Permalink to this definition"></a></dt>
@ -854,6 +912,11 @@ interpreter.</p>
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">get_kollacli_home</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#get_kollacli_home"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.get_kollacli_home" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="kollacli.common.utils.get_log_level">
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">get_log_level</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#get_log_level"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.get_log_level" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="kollacli.common.utils.get_property_list_length">
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">get_property_list_length</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#get_property_list_length"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.get_property_list_length" title="Permalink to this definition"></a></dt>
@ -921,10 +984,15 @@ unicode.</p>
<li><a class="reference internal" href="#">kollacli.common package</a><ul>
<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
<li><a class="reference internal" href="#submodules">Submodules</a></li>
<li><a class="reference internal" href="#module-kollacli.common.allinone">kollacli.common.allinone module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.host">kollacli.common.host module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.host_group">kollacli.common.host_group module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.inventory">kollacli.common.inventory module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.passwords">kollacli.common.passwords module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.properties">kollacli.common.properties module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.service">kollacli.common.service module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.sshutils">kollacli.common.sshutils module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.subservice">kollacli.common.subservice module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.support">kollacli.common.support module</a></li>
<li><a class="reference internal" href="#module-kollacli.common.utils">kollacli.common.utils module</a></li>
<li><a class="reference internal" href="#module-kollacli.common">Module contents</a></li>
@ -963,7 +1031,7 @@ unicode.</p>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli package &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli package &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -93,10 +93,15 @@
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.allinone">kollacli.common.allinone module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.host">kollacli.common.host module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.host_group">kollacli.common.host_group module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.inventory">kollacli.common.inventory module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.passwords">kollacli.common.passwords module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.properties">kollacli.common.properties module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.service">kollacli.common.service module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.sshutils">kollacli.common.sshutils module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.subservice">kollacli.common.subservice module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.support">kollacli.common.support module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.utils">kollacli.common.utils module</a></li>
<li class="toctree-l2"><a class="reference internal" href="kollacli.common.html#module-kollacli.common">Module contents</a></li>
@ -180,7 +185,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>kollacli &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>kollacli &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
</head>
<body>
<div class="related">
@ -35,7 +35,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -83,10 +83,15 @@
<li class="toctree-l3"><a class="reference internal" href="kollacli.common.html">kollacli.common package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#subpackages">Subpackages</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.allinone">kollacli.common.allinone module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.host">kollacli.common.host module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.host_group">kollacli.common.host_group module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.inventory">kollacli.common.inventory module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.passwords">kollacli.common.passwords module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.properties">kollacli.common.properties module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.service">kollacli.common.service module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.sshutils">kollacli.common.sshutils module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.subservice">kollacli.common.subservice module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.support">kollacli.common.support module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common.utils">kollacli.common.utils module</a></li>
<li class="toctree-l4"><a class="reference internal" href="kollacli.common.html#module-kollacli.common">Module contents</a></li>
@ -141,7 +146,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

Binary file not shown.

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Python Module Index &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>Python Module Index &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -23,7 +23,7 @@
<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>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
@ -38,7 +38,7 @@
<li class="right" >
<a href="#" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -179,6 +179,11 @@
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common"><tt class="xref">kollacli.common</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common.allinone"><tt class="xref">kollacli.common.allinone</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
@ -199,6 +204,16 @@
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.ansible.html#module-kollacli.common.ansible.playbook"><tt class="xref">kollacli.common.ansible.playbook</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common.host"><tt class="xref">kollacli.common.host</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common.host_group"><tt class="xref">kollacli.common.host_group</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
@ -214,11 +229,21 @@
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common.properties"><tt class="xref">kollacli.common.properties</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common.service"><tt class="xref">kollacli.common.service</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common.sshutils"><tt class="xref">kollacli.common.sshutils</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
<a href="kollacli.common.html#module-kollacli.common.subservice"><tt class="xref">kollacli.common.subservice</tt></a></td><td>
<em></em></td></tr>
<tr class="cg-1">
<td></td>
<td>&nbsp;&nbsp;&nbsp;
@ -273,7 +298,7 @@
<li class="right" >
<a href="#" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

View File

@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Search &mdash; kollacli 1.0.0.dev404 documentation</title>
<title>Search &mdash; kollacli 3.0.1.dev429 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@ -14,7 +14,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0.0.dev404',
VERSION: '3.0.1.dev429',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -24,7 +24,7 @@
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/searchtools.js"></script>
<link rel="top" title="kollacli 1.0.0.dev404 documentation" href="index.html" />
<link rel="top" title="kollacli 3.0.1.dev429 documentation" href="index.html" />
<script type="text/javascript">
jQuery(function() { Search.loadIndex("searchindex.js"); });
</script>
@ -43,7 +43,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
@ -94,7 +94,7 @@
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="index.html">kollacli 1.0.0.dev404 documentation</a> &raquo;</li>
<li><a href="index.html">kollacli 3.0.1.dev429 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">

File diff suppressed because one or more lines are too long

View File

@ -11,6 +11,30 @@ Subpackages
Submodules
----------
kollacli.common.allinone module
-------------------------------
.. automodule:: kollacli.common.allinone
:members:
:undoc-members:
:show-inheritance:
kollacli.common.host module
---------------------------
.. automodule:: kollacli.common.host
:members:
:undoc-members:
:show-inheritance:
kollacli.common.host_group module
---------------------------------
.. automodule:: kollacli.common.host_group
:members:
:undoc-members:
:show-inheritance:
kollacli.common.inventory module
--------------------------------
@ -35,6 +59,14 @@ kollacli.common.properties module
:undoc-members:
:show-inheritance:
kollacli.common.service module
------------------------------
.. automodule:: kollacli.common.service
:members:
:undoc-members:
:show-inheritance:
kollacli.common.sshutils module
-------------------------------
@ -43,6 +75,14 @@ kollacli.common.sshutils module
:undoc-members:
:show-inheritance:
kollacli.common.subservice module
---------------------------------
.. automodule:: kollacli.common.subservice
:members:
:undoc-members:
:show-inheritance:
kollacli.common.support module
------------------------------