parent
9ef934e240
commit
41eead32ca
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>Overview: module code — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>Overview: module code — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -74,7 +74,6 @@
|
|||
<li><a href="kollacli/common/sshutils.html">kollacli.common.sshutils</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/exceptions.html">kollacli.exceptions</a></li>
|
||||
<li><a href="kollacli/shell.html">kollacli.shell</a></li>
|
||||
</ul>
|
||||
|
||||
|
@ -109,7 +108,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.async — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.async — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.async</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">kollacli.api.exceptions</span> <span class="kn">import</span> <span class="n">InvalidArgument</span>
|
||||
|
@ -72,8 +72,8 @@
|
|||
|
||||
<div class="viewcode-block" id="AsyncApi"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.async.AsyncApi">[docs]</a><span class="k">class</span> <span class="nc">AsyncApi</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
|
||||
<span class="c1"># TODO(bmace) -- update this to only take host names</span>
|
||||
<span class="c1"># and we will probably only support compute host individual deploys</span>
|
||||
<span class="c"># TODO(bmace) -- update this to only take host names</span>
|
||||
<span class="c"># and we will probably only support compute host individual deploys</span>
|
||||
<div class="viewcode-block" id="AsyncApi.async_deploy"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.async.AsyncApi.async_deploy">[docs]</a> <span class="k">def</span> <span class="nf">async_deploy</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hostnames</span><span class="o">=</span><span class="p">[],</span> <span class="n">groupnames</span><span class="o">=</span><span class="p">[],</span> <span class="n">servicenames</span><span class="o">=</span><span class="p">[],</span>
|
||||
<span class="n">serial_flag</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">verbose_level</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="sd">"""Deploy.</span>
|
||||
|
@ -93,14 +93,14 @@
|
|||
<span class="sd"> :return: Job object</span>
|
||||
<span class="sd"> :rtype: Job</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</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">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span>
|
||||
<span class="n">empty_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">none_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</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="s1">'Group names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</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">'Group names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span>
|
||||
<span class="n">empty_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">none_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">servicenames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Service names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">servicenames</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">'Service names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span>
|
||||
<span class="n">empty_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">none_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">serial_flag</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Serial flag'</span><span class="p">),</span> <span class="nb">bool</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">serial_flag</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">'Serial flag'</span><span class="p">),</span> <span class="nb">bool</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</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">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostnames</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>
|
||||
<span class="n">servicenames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">servicenames</span><span class="p">)</span>
|
||||
|
@ -120,7 +120,7 @@
|
|||
<span class="sd"> Upgrade containers to new version specified by the property</span>
|
||||
<span class="sd"> "openstack_release."</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</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">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">ansible_job</span> <span class="o">=</span> <span class="n">actions</span><span class="o">.</span><span class="n">upgrade</span><span class="p">(</span><span class="n">verbose_level</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">Job</span><span class="p">(</span><span class="n">ansible_job</span><span class="p">)</span>
|
||||
</div>
|
||||
|
@ -143,14 +143,14 @@
|
|||
<span class="sd"> :rtype: Job</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">destroy_type</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Destroy type'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">include_data</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Include data'</span><span class="p">),</span> <span class="nb">bool</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">destroy_type</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'stop'</span><span class="p">,</span> <span class="s1">'kill'</span><span class="p">]:</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</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">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">destroy_type</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">'Destroy type'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</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">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">include_data</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">'Include data'</span><span class="p">),</span> <span class="nb">bool</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">destroy_type</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'stop'</span><span class="p">,</span> <span class="s">'kill'</span><span class="p">]:</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="s1">'Invalid destroy type ({type}). Must be either '</span>
|
||||
<span class="s1">'"stop" or "kill".'</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="n">destroy_type</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">'Invalid destroy type ({type}). Must be either '</span>
|
||||
<span class="s">'"stop" or "kill".'</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="n">destroy_type</span><span class="p">))</span>
|
||||
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostnames</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>
|
||||
|
@ -173,8 +173,8 @@
|
|||
<span class="sd"> :return: Job object</span>
|
||||
<span class="sd"> :rtype: Job</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</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">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">verbose_level</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">'Verbose level'</span><span class="p">),</span> <span class="nb">int</span><span class="p">)</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostnames</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="n">inventory</span><span class="o">.</span><span class="n">validate_hostnames</span><span class="p">(</span><span class="n">hostnames</span><span class="p">)</span>
|
||||
|
@ -214,7 +214,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.client — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.client — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.client</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">logging</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">kollacli.api.async</span> <span class="kn">import</span> <span class="n">AsyncApi</span>
|
||||
|
@ -86,7 +86,7 @@
|
|||
<span class="p">):</span>
|
||||
|
||||
<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="s1">'base call'</span><span class="p">)</span></div></div>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">'base call'</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
@ -120,7 +120,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.deploy — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.deploy — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.deploy</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">logging</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
@ -82,7 +82,7 @@
|
|||
<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"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">remote_mode</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Remote mode'</span><span class="p">),</span> <span class="nb">bool</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">remote_mode</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">'Remote mode'</span><span class="p">),</span> <span class="nb">bool</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="n">inventory</span><span class="o">.</span><span class="n">set_deploy_mode</span><span class="p">(</span><span class="n">remote_mode</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>
|
||||
|
@ -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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.exceptions — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.exceptions — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.exceptions</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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="sd">"""Exception definitions."""</span>
|
||||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
|
@ -68,7 +68,7 @@
|
|||
<span class="sd">"""KollaClient Base Class Exception"""</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">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">message</span><span class="p">:</span>
|
||||
<span class="n">message</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'An unknown exception occurred.'</span><span class="p">)</span>
|
||||
<span class="n">message</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">'An unknown exception occurred.'</span><span class="p">)</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">ClientException</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">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
|
@ -76,16 +76,16 @@
|
|||
<span class="sd">"""Not in inventory exception"""</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">obj_type</span><span class="p">,</span> <span class="n">obj_names</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">obj_names</span><span class="p">,</span> <span class="nb">list</span><span class="p">):</span>
|
||||
<span class="c1"># list of names</span>
|
||||
<span class="n">invalid_objs</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="c"># list of names</span>
|
||||
<span class="n">invalid_objs</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">for</span> <span class="n">obj_name</span> <span class="ow">in</span> <span class="n">obj_names</span><span class="p">:</span>
|
||||
<span class="n">invalid_objs</span> <span class="o">=</span> <span class="s1">''</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">invalid_objs</span><span class="p">,</span> <span class="n">comma</span><span class="p">,</span> <span class="n">obj_name</span><span class="p">])</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s1">','</span>
|
||||
<span class="n">invalid_objs</span> <span class="o">=</span> <span class="s">''</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">invalid_objs</span><span class="p">,</span> <span class="n">comma</span><span class="p">,</span> <span class="n">obj_name</span><span class="p">])</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s">','</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># single object name</span>
|
||||
<span class="c"># single object name</span>
|
||||
<span class="n">invalid_objs</span> <span class="o">=</span> <span class="n">obj_names</span>
|
||||
<span class="n">message</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'{type} ({objs}) does not exist.'</span><span class="p">)</span>
|
||||
<span class="n">message</span> <span class="o">=</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">'{type} ({objs}) does not exist.'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="o">=</span><span class="n">obj_type</span><span class="p">,</span> <span class="n">objs</span><span class="o">=</span><span class="n">invalid_objs</span><span class="p">))</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">NotInInventory</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">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span>
|
||||
|
||||
|
@ -97,12 +97,12 @@
|
|||
<div class="viewcode-block" id="HostsSshCheckError"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.exceptions.HostsSshCheckError">[docs]</a><span class="k">class</span> <span class="nc">HostsSshCheckError</span><span class="p">(</span><span class="n">ClientException</span><span class="p">):</span>
|
||||
<span class="sd">"""Host failed its ssh check"""</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">hostnames</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
|
||||
<span class="n">failed_hosts</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">failed_hosts</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">for</span> <span class="n">hostname</span> <span class="ow">in</span> <span class="n">hostnames</span><span class="p">:</span>
|
||||
<span class="n">failed_hosts</span> <span class="o">=</span> <span class="s1">''</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">failed_hosts</span><span class="p">,</span> <span class="n">comma</span><span class="p">,</span> <span class="n">hostname</span><span class="p">])</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s1">','</span>
|
||||
<span class="n">message</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host(s) ssh check failed: {hosts}'</span><span class="p">)</span>
|
||||
<span class="n">failed_hosts</span> <span class="o">=</span> <span class="s">''</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">failed_hosts</span><span class="p">,</span> <span class="n">comma</span><span class="p">,</span> <span class="n">hostname</span><span class="p">])</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s">','</span>
|
||||
<span class="n">message</span> <span class="o">=</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">'Host(s) ssh check failed: {hosts}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">hosts</span><span class="o">=</span><span class="n">failed_hosts</span><span class="p">))</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">HostsSshCheckError</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">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span>
|
||||
|
||||
|
@ -124,7 +124,7 @@
|
|||
<div class="viewcode-block" id="MissingArgument"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.exceptions.MissingArgument">[docs]</a><span class="k">class</span> <span class="nc">MissingArgument</span><span class="p">(</span><span class="n">ClientException</span><span class="p">):</span>
|
||||
<span class="sd">"""Missing argument"""</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">argname</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
|
||||
<span class="n">message</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Argument is missing: {name}'</span><span class="p">)</span>
|
||||
<span class="n">message</span> <span class="o">=</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">'Argument is missing: {name}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">argname</span><span class="p">))</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">MissingArgument</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">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span></div>
|
||||
</pre></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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.group — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.group — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.group</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
|
@ -99,7 +99,7 @@
|
|||
<span class="sd"> :type servicename: string</span>
|
||||
|
||||
<span class="sd"> """</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="s1">'Service name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</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">'Service name'</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>
|
||||
<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</span><span class="o">.</span><span class="n">validate_servicenames</span><span class="p">([</span><span class="n">servicename</span><span class="p">])</span>
|
||||
|
@ -107,7 +107,7 @@
|
|||
<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="bp">self</span><span class="o">.</span><span class="n">_servicenames</span> <span class="o">=</span> <span class="n">group_services</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="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="c1"># service not associated with group, add it</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="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>
|
||||
|
@ -118,7 +118,7 @@
|
|||
<span class="sd"> :type servicename: string</span>
|
||||
|
||||
<span class="sd"> """</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="s1">'Service name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</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">'Service name'</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>
|
||||
<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</span><span class="o">.</span><span class="n">validate_servicenames</span><span class="p">([</span><span class="n">servicename</span><span class="p">])</span>
|
||||
|
@ -126,7 +126,7 @@
|
|||
<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="bp">self</span><span class="o">.</span><span class="n">_servicenames</span> <span class="o">=</span> <span class="n">group_services</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="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="c1"># service is associated with group, remove it</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="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>
|
||||
|
@ -145,7 +145,7 @@
|
|||
<span class="sd"> :type hostname: string</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostname</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">'Host name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">hostname</span> <span class="o">=</span> <span class="n">safe_decode</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">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
|
||||
<span class="n">inventory</span><span class="o">.</span><span class="n">validate_hostnames</span><span class="p">([</span><span class="n">hostname</span><span class="p">])</span>
|
||||
|
@ -153,7 +153,7 @@
|
|||
<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="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">group</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">()</span>
|
||||
<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="c1"># host not associated with group, add it</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="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>
|
||||
|
@ -164,7 +164,7 @@
|
|||
<span class="sd"> :type hostname: string</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostname</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">'Host name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">hostname</span> <span class="o">=</span> <span class="n">safe_decode</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">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
|
||||
<span class="n">inventory</span><span class="o">.</span><span class="n">validate_hostnames</span><span class="p">([</span><span class="n">hostname</span><span class="p">])</span>
|
||||
|
@ -172,35 +172,38 @@
|
|||
<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="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">group</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">()</span>
|
||||
<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="c1"># host is associated with group, remove it</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="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">groupname</span><span class="p">):</span>
|
||||
<span class="sd">"""Add a group to the inventory</span>
|
||||
<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>
|
||||
<span class="sd">"""Add groups to the inventory</span>
|
||||
|
||||
<span class="sd"> :param groupname: name of the group to add to the inventory</span>
|
||||
<span class="sd"> :type groupname: string</span>
|
||||
<span class="sd"> :param groupnames: names of the groups to add to the inventory</span>
|
||||
<span class="sd"> :type groupnames: list of strings</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">groupname</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Group name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">groupname</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</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">'Group names'</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>
|
||||
|
||||
<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</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">groupname</span> <span class="ow">in</span> <span class="n">groupnames</span><span class="p">:</span>
|
||||
<span class="n">inventory</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="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"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.group.GroupApi.group_remove">[docs]</a> <span class="k">def</span> <span class="nf">group_remove</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="sd">"""Remove a group from the inventory</span>
|
||||
<div class="viewcode-block" id="GroupApi.group_remove"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.group.GroupApi.group_remove">[docs]</a> <span class="k">def</span> <span class="nf">group_remove</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="sd">"""Remove groups from the inventory</span>
|
||||
|
||||
<span class="sd"> :param groupname: name of the group to remove from the inventory</span>
|
||||
<span class="sd"> :type groupname: string</span>
|
||||
<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"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">groupname</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Group name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</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">'Group names'</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>
|
||||
|
||||
<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">groupname</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="n">inventory</span><span class="o">.</span><span class="n">remove_group</span><span class="p">(</span><span class="n">groupname</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">inventory</span><span class="o">.</span><span class="n">remove_group</span><span class="p">(</span><span class="n">groupname</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_all"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.group.GroupApi.group_get_all">[docs]</a> <span class="k">def</span> <span class="nf">group_get_all</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
|
@ -219,7 +222,7 @@
|
|||
<span class="sd"> :return: groups</span>
|
||||
<span class="sd"> :rtype: list of Group objects</span>
|
||||
<span class="sd"> """</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="s1">'Group names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</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">'Group names'</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>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_groups</span><span class="p">(</span><span class="n">groupnames</span><span class="p">)</span>
|
||||
</div>
|
||||
|
@ -271,7 +274,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.host — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.host — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.host</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
|
@ -97,7 +97,7 @@
|
|||
|
||||
<span class="sd"> :param hostnames: list of strings</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</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">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostnames</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>
|
||||
|
@ -114,7 +114,7 @@
|
|||
|
||||
<span class="sd"> :param hostnames: list of strings</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</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">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostnames</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>
|
||||
|
@ -146,7 +146,7 @@
|
|||
<span class="sd"> :return: hosts</span>
|
||||
<span class="sd"> :rtype: Host</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</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">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostnames</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="n">inventory</span><span class="o">.</span><span class="n">validate_hostnames</span><span class="p">(</span><span class="n">hostnames</span><span class="p">)</span>
|
||||
|
@ -171,7 +171,7 @@
|
|||
<span class="sd"> :return: check status</span>
|
||||
<span class="sd"> :rtype: dictionary</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostnames</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">'Host names'</span><span class="p">),</span> <span class="nb">list</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="n">hostnames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostnames</span><span class="p">)</span>
|
||||
<span class="n">inventory</span><span class="o">.</span><span class="n">validate_hostnames</span><span class="p">(</span><span class="n">hostnames</span><span class="p">)</span>
|
||||
|
@ -191,7 +191,7 @@
|
|||
|
||||
<span class="sd"> :param hosts_info: dictionary</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hosts_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="s1">'Hosts info'</span><span class="p">),</span> <span class="nb">dict</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hosts_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">'Hosts info'</span><span class="p">),</span> <span class="nb">dict</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="n">inventory</span><span class="o">.</span><span class="n">validate_hostnames</span><span class="p">(</span><span class="n">hosts_info</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
|
||||
<span class="n">inventory</span><span class="o">.</span><span class="n">setup_hosts</span><span class="p">(</span><span class="n">hosts_info</span><span class="p">)</span></div></div>
|
||||
|
@ -228,7 +228,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.job — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.job — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.job</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="Job"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.job.Job">[docs]</a><span class="k">class</span> <span class="nc">Job</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
|
@ -131,7 +131,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.password — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.password — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.password</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.passwords</span> <span class="kn">import</span> <span class="n">clear_password</span>
|
||||
|
@ -78,7 +78,7 @@
|
|||
<span class="sd"> :param value: value of the password</span>
|
||||
<span class="sd"> :type value: string</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Password name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">name</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">'Password name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">set_password</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="PasswordApi.password_clear"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.password.PasswordApi.password_clear">[docs]</a> <span class="k">def</span> <span class="nf">password_clear</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
|
||||
|
@ -87,7 +87,7 @@
|
|||
<span class="sd"> :param name: name of the password</span>
|
||||
<span class="sd"> :type name: string</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Password name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">name</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">'Password name'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">clear_password</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="PasswordApi.password_get_names"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.password.PasswordApi.password_get_names">[docs]</a> <span class="k">def</span> <span class="nf">password_get_names</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
|
@ -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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.properties — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.properties — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.properties</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">logging</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
@ -71,9 +71,9 @@
|
|||
|
||||
<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">GLOBAL_TYPE</span> <span class="o">=</span> <span class="s1">'global'</span>
|
||||
<span class="n">GROUP_TYPE</span> <span class="o">=</span> <span class="s1">'group'</span>
|
||||
<span class="n">HOST_TYPE</span> <span class="o">=</span> <span class="s1">'host'</span>
|
||||
<span class="n">GLOBAL_TYPE</span> <span class="o">=</span> <span class="s">'global'</span>
|
||||
<span class="n">GROUP_TYPE</span> <span class="o">=</span> <span class="s">'group'</span>
|
||||
<span class="n">HOST_TYPE</span> <span class="o">=</span> <span class="s">'host'</span>
|
||||
<span class="n">PROP_TYPES</span> <span class="o">=</span> <span class="p">[</span><span class="n">GLOBAL_TYPE</span><span class="p">,</span> <span class="n">GROUP_TYPE</span><span class="p">,</span> <span class="n">HOST_TYPE</span><span class="p">]</span>
|
||||
|
||||
|
||||
|
@ -127,13 +127,13 @@
|
|||
<span class="sd"> :type change_set: list of strings</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Key'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">key</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">'Property Key'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">key</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Value'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">value</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">'Property Value'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">value</span> <span class="o">=</span> <span class="n">safe_decode</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">_check_type</span><span class="p">(</span><span class="n">property_type</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">property_type</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">GLOBAL_TYPE</span><span class="p">:</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">change_set</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Change Set'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span> <span class="n">none_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">change_set</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">'Change Set'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span> <span class="n">none_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="n">change_set</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">change_set</span><span class="p">)</span>
|
||||
|
||||
<span class="n">ansible_properties</span> <span class="o">=</span> <span class="n">AnsibleProperties</span><span class="p">()</span>
|
||||
|
@ -158,11 +158,11 @@
|
|||
<span class="sd"> :type change_set: list of strings</span>
|
||||
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Key'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">key</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">'Property Key'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">key</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_check_type</span><span class="p">(</span><span class="n">property_type</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">property_type</span> <span class="ow">is</span> <span class="ow">not</span> <span class="n">GLOBAL_TYPE</span><span class="p">:</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">change_set</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Change Set'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span> <span class="n">none_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">change_set</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">'Change Set'</span><span class="p">),</span> <span class="nb">list</span><span class="p">,</span> <span class="n">none_ok</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="n">change_set</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">change_set</span><span class="p">)</span>
|
||||
|
||||
<span class="n">ansible_properties</span> <span class="o">=</span> <span class="n">AnsibleProperties</span><span class="p">()</span>
|
||||
|
@ -209,8 +209,8 @@
|
|||
</div>
|
||||
<span class="k">def</span> <span class="nf">_check_type</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">property_type</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">property_type</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">or</span> <span class="n">property_type</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">PROP_TYPES</span><span class="p">:</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="s1">'Property Type ({value} is not one of '</span>
|
||||
<span class="s1">'global, group or host'</span><span class="p">)</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">'Property Type ({value} is not one of '</span>
|
||||
<span class="s">'global, group or host'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">value</span><span class="o">=</span><span class="n">property_type</span><span class="p">))</span></div>
|
||||
</pre></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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.service — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.service — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.service</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
|
@ -143,7 +143,7 @@
|
|||
<span class="sd"> :return: services</span>
|
||||
<span class="sd"> :rtype: list of Service objects</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">servicenames</span><span class="p">,</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Service names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">servicenames</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">'Service names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">servicenames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">servicenames</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_services</span><span class="p">(</span><span class="n">servicenames</span><span class="p">)</span>
|
||||
</div>
|
||||
|
@ -204,7 +204,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api.support — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api.support — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,36 +47,79 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.api.support</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">os</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">kollacli.api.exceptions</span> <span class="kn">import</span> <span class="n">InvalidArgument</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.support</span> <span class="kn">import</span> <span class="n">dump</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.support</span> <span class="kn">import</span> <span class="n">get_logs</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">check_arg</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">safe_decode</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="SupportApi"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.support.SupportApi">[docs]</a><span class="k">class</span> <span class="nc">SupportApi</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
|
||||
<div class="viewcode-block" id="SupportApi.support_dump"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.support.SupportApi.support_dump">[docs]</a> <span class="k">def</span> <span class="nf">support_dump</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="SupportApi.support_dump"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.support.SupportApi.support_dump">[docs]</a> <span class="k">def</span> <span class="nf">support_dump</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dirpath</span><span class="p">):</span>
|
||||
<span class="sd">"""Dumps configuration data for debugging.</span>
|
||||
|
||||
<span class="sd"> Dumps most files in /etc/kolla and /usr/share/kolla into a</span>
|
||||
<span class="sd"> tar file so be given to support / development to help with</span>
|
||||
<span class="sd"> debugging problems.</span>
|
||||
|
||||
<span class="sd"> :param dirpath: path to directory where dump will be placed</span>
|
||||
<span class="sd"> :type dirpath: string</span>
|
||||
<span class="sd"> :return: path to dump file</span>
|
||||
<span class="sd"> :rtype: string</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">dumpfile_path</span> <span class="o">=</span> <span class="n">dump</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">dumpfile_path</span></div></div>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">dirpath</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">'Directory path'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">dirpath</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">dirpath</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">dirpath</span><span class="p">):</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">'Directory path: {path} does not exist'</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">dirpath</span><span class="p">))</span>
|
||||
<span class="n">dumpfile_path</span> <span class="o">=</span> <span class="n">dump</span><span class="p">(</span><span class="n">dirpath</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">dumpfile_path</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="SupportApi.support_get_logs"><a class="viewcode-back" href="../../../kollacli.api.html#kollacli.api.support.SupportApi.support_get_logs">[docs]</a> <span class="k">def</span> <span class="nf">support_get_logs</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">hostname</span><span class="p">,</span> <span class="n">dirpath</span><span class="p">):</span>
|
||||
<span class="sd">"""get container logs</span>
|
||||
|
||||
<span class="sd"> Fetch the container log files of services from the specified hosts.</span>
|
||||
<span class="sd"> The log files will be placed in the named directory. All the containers</span>
|
||||
<span class="sd"> for the host will be placed in a directory named hostname. The file</span>
|
||||
<span class="sd"> names for each log will be servicename_id.log.</span>
|
||||
|
||||
<span class="sd"> :param servicenames: names of services (ie nova, glance, etc)</span>
|
||||
<span class="sd"> :type servicenames: list of strings</span>
|
||||
<span class="sd"> :param hostname: name of host to look for logs on</span>
|
||||
<span class="sd"> :type hostname: string</span>
|
||||
<span class="sd"> :param dirpath: path of directory where log files will be written</span>
|
||||
<span class="sd"> :type dirpath: string</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">dirpath</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">'Directory path'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">dirpath</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">dirpath</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">dirpath</span><span class="p">):</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">'Directory path: {path} does not exist'</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">dirpath</span><span class="p">))</span>
|
||||
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">servicenames</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">'Service names'</span><span class="p">),</span> <span class="nb">list</span><span class="p">)</span>
|
||||
<span class="n">servicenames</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">servicenames</span><span class="p">)</span>
|
||||
<span class="n">check_arg</span><span class="p">(</span><span class="n">hostname</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">'Host names'</span><span class="p">),</span> <span class="nb">str</span><span class="p">)</span>
|
||||
<span class="n">hostname</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
|
||||
|
||||
<span class="n">get_logs</span><span class="p">(</span><span class="n">servicenames</span><span class="p">,</span> <span class="n">hostname</span><span class="p">,</span> <span class="n">dirpath</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
@ -110,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.deploy — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.deploy — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.deploy</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">logging</span>
|
||||
<span class="kn">import</span> <span class="nn">traceback</span>
|
||||
|
||||
|
@ -78,17 +78,17 @@
|
|||
<span class="sd">"""Deploy."""</span>
|
||||
<div class="viewcode-block" id="Deploy.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.deploy.Deploy.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">Deploy</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'--hosts'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s1">'<host_list>'</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="s1">'Deployment host list'</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="s1">'--groups'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s1">'<group_list>'</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="s1">'Deployment group list'</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="s1">'--services'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s1">'<service_list>'</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="s1">'Deployment service list'</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="s1">'--serial'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store_true'</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="s1">'Deploy serially'</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">'--hosts'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s">'<host_list>'</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">'Deployment host list'</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">'--groups'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s">'<group_list>'</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">'Deployment group list'</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">'--services'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s">'<service_list>'</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">'Deployment service list'</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">'--serial'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</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">'Deploy serially'</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>
|
||||
|
@ -100,13 +100,13 @@
|
|||
<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="s1">','</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">','</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</span><span class="p">:</span>
|
||||
<span class="n">group_list</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">groups</span> <span class="o">=</span> <span class="n">group_list</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span>
|
||||
<span class="n">groups</span> <span class="o">=</span> <span class="n">group_list</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">','</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">services</span><span class="p">:</span>
|
||||
<span class="n">service_list</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">services</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">services</span> <span class="o">=</span> <span class="n">service_list</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span>
|
||||
<span class="n">services</span> <span class="o">=</span> <span class="n">service_list</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">','</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>
|
||||
|
||||
|
@ -114,13 +114,18 @@
|
|||
<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="k">if</span> <span class="n">verbose_level</span> <span class="o">></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="s1">'</span><span class="se">\n\n</span><span class="s1">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s1">'='</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="s1">'DEBUG command output:</span><span class="se">\n</span><span class="s1">{out}'</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">'</span><span class="se">\n\n</span><span class="s">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s">'='</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">'DEBUG command output:</span><span class="se">\n</span><span class="s">{out}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">out</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_console_output</span><span class="p">()))</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">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="s1">'Success'</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">verbose_level</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="c"># log any ansible warnings</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="n">job</span><span class="o">.</span><span class="n">get_error_message</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">msg</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="n">msg</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">'Success'</span><span class="p">))</span>
|
||||
<span class="k">else</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="s1">'Job failed:</span><span class="se">\n</span><span class="s1">{msg}'</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">'Job failed:</span><span class="se">\n</span><span class="s">{msg}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">msg</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_error_message</span><span class="p">()))</span>
|
||||
|
||||
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
|
@ -136,20 +141,20 @@
|
|||
<span class="sd"> """</span>
|
||||
<div class="viewcode-block" id="Setdeploy.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.deploy.Setdeploy.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">Setdeploy</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'mode'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<mode>'</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="s1">'mode=<local, remote>'</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">'mode'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<mode>'</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">'mode=<local, remote>'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<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="s1">'remote'</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">mode</span> <span class="o">==</span> <span class="s">'remote'</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="s1">'local'</span><span class="p">:</span>
|
||||
<span class="k">elif</span> <span class="n">mode</span> <span class="o">!=</span> <span class="s">'local'</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="s1">'Invalid deploy mode. Mode must be '</span>
|
||||
<span class="s1">'either "local" or "remote".'</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">'Invalid deploy mode. Mode must be '</span>
|
||||
<span class="s">'either "local" or "remote".'</span><span class="p">))</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">deploy_set_mode</span><span class="p">(</span><span class="n">remote_flag</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="n">CommandError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">e</span>
|
||||
|
@ -188,7 +193,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.exceptions — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.exceptions — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.exceptions</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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="sd">"""Exception definitions."""</span>
|
||||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
|
@ -67,7 +67,7 @@
|
|||
<div class="viewcode-block" id="CommandError"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.exceptions.CommandError">[docs]</a><span class="k">class</span> <span class="nc">CommandError</span><span class="p">(</span><span class="ne">Exception</span><span class="p">):</span>
|
||||
<span class="sd">"""CLI command error"""</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">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
|
||||
<span class="n">prefix</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'ERROR: '</span><span class="p">)</span>
|
||||
<span class="n">prefix</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">'ERROR: '</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">message</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="n">prefix</span><span class="p">):</span>
|
||||
<span class="n">message</span> <span class="o">=</span> <span class="n">prefix</span> <span class="o">+</span> <span class="n">message</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">CommandError</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">message</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span></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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.group — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.group — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.group</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">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>
|
||||
|
@ -78,15 +78,15 @@
|
|||
<span class="sd">"""Add group to openstack-kolla."""</span>
|
||||
<div class="viewcode-block" id="GroupAdd.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupAdd.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">GroupAdd</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="GroupAdd.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupAdd.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">groupname</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groupname</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">group_add</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">group_add</span><span class="p">([</span><span class="n">groupname</span><span class="p">])</span>
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
|
@ -98,15 +98,15 @@
|
|||
|
||||
<div class="viewcode-block" id="GroupRemove.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupRemove.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">GroupRemove</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="GroupRemove.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupRemove.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">groupname</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groupname</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">group_remove</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">group_remove</span><span class="p">([</span><span class="n">groupname</span><span class="p">])</span>
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
|
@ -117,10 +117,10 @@
|
|||
<span class="sd">"""Add host to group."""</span>
|
||||
<div class="viewcode-block" id="GroupAddhost.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupAddhost.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">GroupAddhost</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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="s1">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<hostname>'</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="s1">'Host name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</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">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<hostname>'</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">'Host name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="GroupAddhost.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupAddhost.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>
|
||||
|
@ -142,10 +142,10 @@
|
|||
|
||||
<div class="viewcode-block" id="GroupRemovehost.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupRemovehost.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">GroupRemovehost</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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="s1">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<hostname>'</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="s1">'Host name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</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">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<hostname>'</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">'Host name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="GroupRemovehost.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupRemovehost.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>
|
||||
|
@ -167,14 +167,14 @@
|
|||
|
||||
<div class="viewcode-block" id="GroupListhosts.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupListhosts.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">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">)]</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">)]</span>
|
||||
<span class="n">groups</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">group_get_all</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">groups</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</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">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">group</span><span class="o">.</span><span class="n">get_name</span><span class="p">(),</span>
|
||||
<span class="nb">sorted</span><span class="p">(</span><span class="n">group</span><span class="o">.</span><span class="n">get_hosts</span><span class="p">())))</span>
|
||||
<span class="k">return</span> <span class="p">((</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Group'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Hosts'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
<span class="k">return</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">'Group'</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">'Hosts'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
|
@ -185,10 +185,10 @@
|
|||
<span class="sd">"""Add service to group."""</span>
|
||||
<div class="viewcode-block" id="GroupAddservice.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupAddservice.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">GroupAddservice</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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="s1">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<servicename>'</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="s1">'Service name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</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">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<servicename>'</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">'Service name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="GroupAddservice.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupAddservice.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>
|
||||
|
@ -210,10 +210,10 @@
|
|||
|
||||
<div class="viewcode-block" id="GroupRemoveservice.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupRemoveservice.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">GroupRemoveservice</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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="s1">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<servicename>'</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="s1">'Service name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</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">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<servicename>'</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">'Service name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="GroupRemoveservice.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupRemoveservice.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>
|
||||
|
@ -235,14 +235,14 @@
|
|||
|
||||
<div class="viewcode-block" id="GroupListservices.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.group.GroupListservices.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">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">)]</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">)]</span>
|
||||
<span class="n">groups</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">group_get_all</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">groups</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</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">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">group</span><span class="o">.</span><span class="n">get_name</span><span class="p">(),</span>
|
||||
<span class="nb">sorted</span><span class="p">(</span><span class="n">group</span><span class="o">.</span><span class="n">get_services</span><span class="p">())))</span>
|
||||
<span class="k">return</span> <span class="p">((</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Group'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Services'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
<span class="k">return</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">'Group'</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">'Services'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
|
@ -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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.host — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.host — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.host</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">argparse</span>
|
||||
<span class="kn">import</span> <span class="nn">getpass</span>
|
||||
<span class="kn">import</span> <span class="nn">logging</span>
|
||||
|
@ -85,8 +85,8 @@
|
|||
|
||||
<div class="viewcode-block" id="HostAdd.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostAdd.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">HostAdd</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<hostname>'</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="s1">'Host name or ip address'</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">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<hostname>'</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">'Host name or ip address'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostAdd.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostAdd.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>
|
||||
|
@ -109,12 +109,12 @@
|
|||
|
||||
<div class="viewcode-block" id="HostDestroy.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostDestroy.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">HostDestroy</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<hostname | all>'</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="s1">'Host name or ip address or "all"'</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="s1">'--stop'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store_true'</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="s1">'Stop rather than kill'</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="s1">'--includedata'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store_true'</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="s1">'Destroy data containers'</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">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<hostname | all>'</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">'Host name or ip address or "all"'</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">'--stop'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</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">'Stop rather than kill'</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">'--includedata'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</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">'Destroy data containers'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostDestroy.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostDestroy.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>
|
||||
|
@ -122,12 +122,12 @@
|
|||
<span class="n">hostname</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hostname</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">hostname</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s1">'all'</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s">'all'</span><span class="p">:</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">_get_all_hostnames</span><span class="p">()</span>
|
||||
|
||||
<span class="n">destroy_type</span> <span class="o">=</span> <span class="s1">'kill'</span>
|
||||
<span class="n">destroy_type</span> <span class="o">=</span> <span class="s">'kill'</span>
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">stop</span><span class="p">:</span>
|
||||
<span class="n">destroy_type</span> <span class="o">=</span> <span class="s1">'stop'</span>
|
||||
<span class="n">destroy_type</span> <span class="o">=</span> <span class="s">'stop'</span>
|
||||
<span class="n">include_data</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">includedata</span><span class="p">:</span>
|
||||
<span class="n">include_data</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
|
@ -138,12 +138,17 @@
|
|||
<span class="n">verbose_level</span><span class="p">,</span> <span class="n">include_data</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="k">if</span> <span class="n">verbose_level</span> <span class="o">></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="s1">'</span><span class="se">\n\n</span><span class="s1">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s1">'='</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="s1">'DEBUG command output:</span><span class="se">\n</span><span class="s1">{out}'</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">'</span><span class="se">\n\n</span><span class="s">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s">'='</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">'DEBUG command output:</span><span class="se">\n</span><span class="s">{out}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">out</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_console_output</span><span class="p">()))</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="o">!=</span> <span class="mi">0</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="s1">'Job failed:</span><span class="se">\n</span><span class="s1">{msg}'</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">'Job failed:</span><span class="se">\n</span><span class="s">{msg}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">msg</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_error_message</span><span class="p">()))</span>
|
||||
<span class="k">elif</span> <span class="n">verbose_level</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="c"># log any ansible warnings</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="n">job</span><span class="o">.</span><span class="n">get_error_message</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">msg</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="n">msg</span><span class="p">)</span>
|
||||
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
|
@ -156,15 +161,15 @@
|
|||
|
||||
<div class="viewcode-block" id="HostRemove.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostRemove.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">HostRemove</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<hostname | all>'</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="s1">'Host name or "all"'</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">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<hostname | all>'</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">'Host name or "all"'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostRemove.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostRemove.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">hostname</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hostname</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">hostname</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s1">'all'</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s">'all'</span><span class="p">:</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">_get_all_hostnames</span><span class="p">()</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">host_remove</span><span class="p">(</span><span class="n">hostnames</span><span class="p">)</span>
|
||||
|
||||
|
@ -182,8 +187,8 @@
|
|||
|
||||
<div class="viewcode-block" id="HostList.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostList.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">HostList</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'hostname'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'[hostname]'</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="s1">'Host name'</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">'hostname'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'[hostname]'</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">'Host name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostList.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostList.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>
|
||||
|
@ -203,9 +208,9 @@
|
|||
<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="n">data</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> <span class="n">host</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="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">))</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span>
|
||||
|
||||
<span class="k">return</span> <span class="p">((</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Groups'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
<span class="k">return</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">'Host'</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">'Groups'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
|
@ -218,46 +223,52 @@
|
|||
|
||||
<div class="viewcode-block" id="HostCheck.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostCheck.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">HostCheck</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<hostname | all>'</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="s1">'Host name or "all"'</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="s1">'--predeploy'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store_true'</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="s1">'Run pre-deploy host checks.'</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">'hostname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<hostname | all>'</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">'Host name or "all"'</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">'--predeploy'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</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">'Run pre-deploy host checks.'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostCheck.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostCheck.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">hostname</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hostname</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">hostname</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s1">'all'</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">hostname</span> <span class="o">==</span> <span class="s">'all'</span><span class="p">:</span>
|
||||
<span class="n">hostnames</span> <span class="o">=</span> <span class="n">_get_all_hostnames</span><span class="p">()</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">predeploy</span><span class="p">:</span>
|
||||
<span class="c1"># run pre-deploy checks</span>
|
||||
<span class="c"># run pre-deploy checks</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">job</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">async_host_precheck</span><span class="p">(</span><span class="n">hostnames</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="k">if</span> <span class="n">verbose_level</span> <span class="o">></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="s1">'</span><span class="se">\n\n</span><span class="s1">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s1">'='</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="s1">'DEBUG command output:</span><span class="se">\n</span><span class="s1">{out}'</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">'</span><span class="se">\n\n</span><span class="s">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s">'='</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">'DEBUG command output:</span><span class="se">\n</span><span class="s">{out}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">out</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_console_output</span><span class="p">()))</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="o">!=</span> <span class="mi">0</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="s1">'Job failed:</span><span class="se">\n</span><span class="s1">{msg}'</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">'Job failed:</span><span class="se">\n</span><span class="s">{msg}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">msg</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_error_message</span><span class="p">()))</span>
|
||||
<span class="k">elif</span> <span class="n">verbose_level</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="c"># log any ansible warnings</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="n">job</span><span class="o">.</span><span class="n">get_error_message</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">msg</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="n">msg</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c"># just do an ssh check</span>
|
||||
<span class="n">summary</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">host_ssh_check</span><span class="p">(</span><span class="n">hostnames</span><span class="p">)</span>
|
||||
<span class="n">all_ok</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="k">for</span> <span class="n">hostname</span><span class="p">,</span> <span class="n">info</span> <span class="ow">in</span> <span class="n">summary</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'success'</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">info</span><span class="p">[</span><span class="s1">'success'</span><span class="p">]:</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'failed- '</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="n">info</span><span class="p">[</span><span class="s1">'msg'</span><span class="p">]</span>
|
||||
<span class="n">status</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">'success'</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">info</span><span class="p">[</span><span class="s">'success'</span><span class="p">]:</span>
|
||||
<span class="n">status</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">'failed- '</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="n">info</span><span class="p">[</span><span class="s">'msg'</span><span class="p">]</span>
|
||||
<span class="n">all_ok</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="s1">'Host {host}: {sts} {msg}'</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">'Host {host}: {sts} {msg}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</span><span class="p">,</span> <span class="n">sts</span><span class="o">=</span><span class="n">status</span><span class="p">,</span> <span class="n">msg</span><span class="o">=</span><span class="n">msg</span><span class="p">))</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">all_ok</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="s1">'Host check failed.'</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">'Host check failed.'</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
|
@ -269,45 +280,45 @@
|
|||
|
||||
<div class="viewcode-block" id="HostSetup.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostSetup.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">HostSetup</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'hostname'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s1">'<hostname>'</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="s1">'Host name'</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="s1">'--insecure'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="n">argparse</span><span class="o">.</span><span class="n">SUPPRESS</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="s1">'--file'</span><span class="p">,</span> <span class="s1">'-f'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s1">'<hosts_info_file>'</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="s1">'Absolute path to hosts info file '</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">'hostname'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s">'<hostname>'</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">'Host name'</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">'--insecure'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="n">argparse</span><span class="o">.</span><span class="n">SUPPRESS</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">'--file'</span><span class="p">,</span> <span class="s">'-f'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span>
|
||||
<span class="n">metavar</span><span class="o">=</span><span class="s">'<hosts_info_file>'</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">'Absolute path to hosts info file '</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostSetup.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.host.HostSetup.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="k">if</span> <span class="ow">not</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hostname</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">file</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="s1">'Host name or hosts info file path is required.'</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">'Host name or hosts info file path is required.'</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hostname</span> <span class="ow">and</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">file</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="s1">'Host name and hosts info file path '</span>
|
||||
<span class="s1">'cannot both be present.'</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">'Host name and hosts info file path '</span>
|
||||
<span class="s">'cannot both be present.'</span><span class="p">))</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">file</span><span class="p">:</span>
|
||||
<span class="c1"># multi-host setup via xml file</span>
|
||||
<span class="c"># multi-host setup via xml file</span>
|
||||
<span class="n">hosts_data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_yml_data</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">file</span><span class="o">.</span><span class="n">strip</span><span class="p">())</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">host_setup</span><span class="p">(</span><span class="n">hosts_data</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># single host setup</span>
|
||||
<span class="c"># single host setup</span>
|
||||
<span class="n">hostname</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">hostname</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">summary</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">host_ssh_check</span><span class="p">([</span><span class="n">hostname</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">summary</span><span class="p">[</span><span class="n">hostname</span><span class="p">][</span><span class="s1">'success'</span><span class="p">]:</span>
|
||||
<span class="k">if</span> <span class="n">summary</span><span class="p">[</span><span class="n">hostname</span><span class="p">][</span><span class="s">'success'</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">_LI</span><span class="p">(</span><span class="s1">'Skipping setup of host ({host}) as '</span>
|
||||
<span class="s1">'ssh check is ok.'</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</span><span class="p">))</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_LI</span><span class="p">(</span><span class="s">'Skipping setup of host ({host}) as '</span>
|
||||
<span class="s">'ssh check is ok.'</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">insecure</span><span class="p">:</span>
|
||||
<span class="n">password</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">insecure</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">password</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getpass</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'kolla password for {host}: '</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">'kolla password for {host}: '</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</span><span class="p">))</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">host_setup</span><span class="p">({</span><span class="n">hostname</span><span class="p">:</span> <span class="p">{</span><span class="s1">'password'</span><span class="p">:</span> <span class="n">password</span><span class="p">}})</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">host_setup</span><span class="p">({</span><span class="n">hostname</span><span class="p">:</span> <span class="p">{</span><span class="s">'password'</span><span class="p">:</span> <span class="n">password</span><span class="p">}})</span>
|
||||
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
|
@ -317,15 +328,15 @@
|
|||
<span class="k">def</span> <span class="nf">_get_yml_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">yml_path</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">isfile</span><span class="p">(</span><span class="n">yml_path</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="s1">'No file exists at {path}. An absolute file path is '</span>
|
||||
<span class="s1">'required.'</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">yml_path</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">'No file exists at {path}. An absolute file path is '</span>
|
||||
<span class="s">'required.'</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">yml_path</span><span class="p">))</span>
|
||||
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">yml_path</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">hosts_file</span><span class="p">:</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">yml_path</span><span class="p">,</span> <span class="s">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">hosts_file</span><span class="p">:</span>
|
||||
<span class="n">file_data</span> <span class="o">=</span> <span class="n">hosts_file</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
|
||||
|
||||
<span class="n">hosts_info</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">file_data</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">hosts_info</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="s1">'{path} is empty.'</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">yml_path</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">'{path} is empty.'</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">yml_path</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">hosts_info</span>
|
||||
|
||||
</div>
|
||||
|
@ -368,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.password — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.password — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.password</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">argparse</span>
|
||||
<span class="kn">import</span> <span class="nn">getpass</span>
|
||||
<span class="kn">import</span> <span class="nn">traceback</span>
|
||||
|
@ -76,13 +76,13 @@
|
|||
|
||||
|
||||
<div class="viewcode-block" id="PasswordSet"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.password.PasswordSet">[docs]</a><span class="k">class</span> <span class="nc">PasswordSet</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
||||
<span class="s2">"Password Set"</span>
|
||||
<span class="s">"Password Set"</span>
|
||||
|
||||
<div class="viewcode-block" id="PasswordSet.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.password.PasswordSet.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">PasswordSet</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'passwordname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<passwordname>'</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="s1">'Password name'</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="s1">'--insecure'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s1">'?'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="n">argparse</span><span class="o">.</span><span class="n">SUPPRESS</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">'passwordname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<passwordname>'</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">'Password name'</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">'--insecure'</span><span class="p">,</span> <span class="n">nargs</span><span class="o">=</span><span class="s">'?'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="n">argparse</span><span class="o">.</span><span class="n">SUPPRESS</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="PasswordSet.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.password.PasswordSet.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>
|
||||
|
@ -91,11 +91,11 @@
|
|||
<span class="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">insecure</span><span class="p">:</span>
|
||||
<span class="n">password</span> <span class="o">=</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">insecure</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">password</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getpass</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Password: '</span><span class="p">))</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">passtwo</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getpass</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Retype Password: '</span><span class="p">))</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">password</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getpass</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">'Password: '</span><span class="p">))</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">passtwo</span> <span class="o">=</span> <span class="n">getpass</span><span class="o">.</span><span class="n">getpass</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">'Retype Password: '</span><span class="p">))</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">password</span> <span class="o">!=</span> <span class="n">passtwo</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="s1">'Passwords do not match'</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">'Passwords do not match'</span><span class="p">))</span>
|
||||
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">password_set</span><span class="p">(</span><span class="n">password_name</span><span class="p">,</span> <span class="n">password</span><span class="p">)</span>
|
||||
|
||||
|
@ -104,12 +104,12 @@
|
|||
|
||||
</div></div>
|
||||
<div class="viewcode-block" id="PasswordClear"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.password.PasswordClear">[docs]</a><span class="k">class</span> <span class="nc">PasswordClear</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
||||
<span class="s2">"Password Clear"</span>
|
||||
<span class="s">"Password Clear"</span>
|
||||
|
||||
<div class="viewcode-block" id="PasswordClear.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.password.PasswordClear.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">PasswordClear</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'passwordname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<passwordname>'</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="s1">'Password name'</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">'passwordname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<passwordname>'</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">'Password name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="PasswordClear.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.password.PasswordClear.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>
|
||||
|
@ -130,9 +130,9 @@
|
|||
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">password_name</span> <span class="ow">in</span> <span class="n">password_names</span><span class="p">:</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">password_name</span><span class="p">,</span> <span class="s1">'-'</span><span class="p">))</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">password_name</span><span class="p">,</span> <span class="s">'-'</span><span class="p">))</span>
|
||||
|
||||
<span class="k">return</span> <span class="p">((</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Password Name'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Password'</span><span class="p">)),</span> <span class="n">data</span><span class="p">)</span>
|
||||
<span class="k">return</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">'Password Name'</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">'Password'</span><span class="p">)),</span> <span class="n">data</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="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></div>
|
||||
</pre></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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.property — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.property — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.property</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">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>
|
||||
|
@ -76,27 +76,27 @@
|
|||
|
||||
<span class="k">def</span> <span class="nf">_get_names</span><span class="p">(</span><span class="n">args_list</span><span class="p">):</span>
|
||||
<span class="n">csv_list</span> <span class="o">=</span> <span class="n">args_list</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="n">names</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">convert_to_unicode</span><span class="p">(</span><span class="n">csv_list</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="s1">'all'</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>
|
||||
<span class="n">names</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">convert_to_unicode</span><span class="p">(</span><span class="n">csv_list</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">','</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="s">'all'</span> <span class="ow">in</span> <span class="n">names</span><span class="p">:</span>
|
||||
<span class="n">names</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="k">return</span> <span class="n">names</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="PropertySet"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertySet">[docs]</a><span class="k">class</span> <span class="nc">PropertySet</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
||||
<span class="s2">"Property Set"</span>
|
||||
<span class="s">"Property Set"</span>
|
||||
|
||||
<div class="viewcode-block" id="PropertySet.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertySet.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">PropertySet</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'propertyname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<propertyname>'</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="s1">'Property name'</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="s1">'propertyvalue'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<propertyvalue'</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="s1">'Property value'</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="s1">'--hosts'</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="s1">'<host_list>'</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="s1">'Property host list'</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="s1">'--groups'</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="s1">'<group_list>'</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="s1">'Property group list'</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">'propertyname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<propertyname>'</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">'Property name'</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">'propertyvalue'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<propertyvalue'</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">'Property value'</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">'--hosts'</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">'<host_list>'</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">'Property host list'</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">'--groups'</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">'<group_list>'</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">'Property group list'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="PropertySet.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertySet.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>
|
||||
|
@ -107,40 +107,40 @@
|
|||
<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="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</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="s1">'Invalid to use both hosts and groups arguments '</span>
|
||||
<span class="s1">'together.'</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">'Invalid to use both hosts and groups arguments '</span>
|
||||
<span class="s">'together.'</span><span class="p">))</span>
|
||||
|
||||
<span class="n">host_names</span> <span class="o">=</span> <span class="n">_get_names</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">hosts</span><span class="p">)</span>
|
||||
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_set</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="n">property_value</span><span class="p">,</span>
|
||||
<span class="s1">'host'</span><span class="p">,</span> <span class="n">host_names</span><span class="p">)</span>
|
||||
<span class="s">'host'</span><span class="p">,</span> <span class="n">host_names</span><span class="p">)</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</span><span class="p">:</span>
|
||||
<span class="n">group_names</span> <span class="o">=</span> <span class="n">_get_names</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</span><span class="p">)</span>
|
||||
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_set</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="n">property_value</span><span class="p">,</span>
|
||||
<span class="s1">'group'</span><span class="p">,</span> <span class="n">group_names</span><span class="p">)</span>
|
||||
<span class="s">'group'</span><span class="p">,</span> <span class="n">group_names</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_set</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="n">property_value</span><span class="p">,</span>
|
||||
<span class="s1">'global'</span><span class="p">)</span>
|
||||
<span class="s">'global'</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="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></div>
|
||||
<div class="viewcode-block" id="PropertyClear"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertyClear">[docs]</a><span class="k">class</span> <span class="nc">PropertyClear</span><span class="p">(</span><span class="n">Command</span><span class="p">):</span>
|
||||
<span class="s2">"Property Clear"</span>
|
||||
<span class="s">"Property Clear"</span>
|
||||
|
||||
<div class="viewcode-block" id="PropertyClear.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertyClear.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">PropertyClear</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'propertyname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<propertyname>'</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="s1">'Property name'</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="s1">'--hosts'</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="s1">'<host_list>'</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="s1">'Property host list'</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="s1">'--groups'</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="s1">'<group_list>'</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="s1">'Property group list'</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">'propertyname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<propertyname>'</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">'Property name'</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">'--hosts'</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">'<host_list>'</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">'Property host list'</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">'--groups'</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">'<group_list>'</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">'Property group list'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="PropertyClear.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertyClear.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>
|
||||
|
@ -150,20 +150,20 @@
|
|||
<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="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</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="s1">'Invalid to use both hosts and groups arguments '</span>
|
||||
<span class="s1">'together.'</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">'Invalid to use both hosts and groups arguments '</span>
|
||||
<span class="s">'together.'</span><span class="p">))</span>
|
||||
|
||||
<span class="n">host_names</span> <span class="o">=</span> <span class="n">_get_names</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">hosts</span><span class="p">)</span>
|
||||
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_clear</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="s1">'host'</span><span class="p">,</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_clear</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="s">'host'</span><span class="p">,</span>
|
||||
<span class="n">host_names</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</span><span class="p">:</span>
|
||||
<span class="n">group_names</span> <span class="o">=</span> <span class="n">_get_names</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</span><span class="p">)</span>
|
||||
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_clear</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="s1">'group'</span><span class="p">,</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_clear</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="s">'group'</span><span class="p">,</span>
|
||||
<span class="n">group_names</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_clear</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="s1">'global'</span><span class="p">)</span>
|
||||
<span class="n">CLIENT</span><span class="o">.</span><span class="n">property_clear</span><span class="p">(</span><span class="n">property_name</span><span class="p">,</span> <span class="s">'global'</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="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>
|
||||
|
@ -183,16 +183,16 @@
|
|||
|
||||
<div class="viewcode-block" id="PropertyList.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertyList.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">PropertyList</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'--all'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store_true'</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="s1">'List all properties'</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="s1">'--long'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s1">'store_true'</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="s1">'Show all property attributes'</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="s1">'--hosts'</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="s1">'<host_list>'</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="s1">'Property host list'</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="s1">'--groups'</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="s1">'<group_list>'</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="s1">'Property group list'</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">'--all'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</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">'List all properties'</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">'--long'</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</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">'Show all property attributes'</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">'--hosts'</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">'<host_list>'</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">'Property host list'</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">'--groups'</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">'<group_list>'</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">'Property group list'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="PropertyList.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.property.PropertyList.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>
|
||||
|
@ -205,25 +205,25 @@
|
|||
<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="k">if</span> <span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</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="s1">'Invalid to use both hosts and groups arguments '</span>
|
||||
<span class="s1">'together.'</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">'Invalid to use both hosts and groups arguments '</span>
|
||||
<span class="s">'together.'</span><span class="p">))</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">is_global</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">list_type</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host'</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">list_type</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">'Host'</span><span class="p">)</span>
|
||||
<span class="n">host_names</span> <span class="o">=</span> <span class="n">_get_names</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">hosts</span><span class="p">)</span>
|
||||
|
||||
<span class="n">property_list</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">property_get</span><span class="p">(</span><span class="s1">'host'</span><span class="p">,</span>
|
||||
<span class="n">property_list</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">property_get</span><span class="p">(</span><span class="s">'host'</span><span class="p">,</span>
|
||||
<span class="n">host_names</span><span class="p">)</span>
|
||||
|
||||
<span class="k">elif</span> <span class="n">parsed_args</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">is_global</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">list_type</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Group'</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">list_type</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">'Group'</span><span class="p">)</span>
|
||||
<span class="n">group_names</span> <span class="o">=</span> <span class="n">_get_names</span><span class="p">(</span><span class="n">parsed_args</span><span class="o">.</span><span class="n">groups</span><span class="p">)</span>
|
||||
<span class="n">property_list</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">property_get</span><span class="p">(</span><span class="s1">'group'</span><span class="p">,</span>
|
||||
<span class="n">property_list</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">property_get</span><span class="p">(</span><span class="s">'group'</span><span class="p">,</span>
|
||||
<span class="n">group_names</span><span class="p">)</span>
|
||||
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">property_list</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">property_get</span><span class="p">(</span><span class="s1">'global'</span><span class="p">)</span>
|
||||
<span class="n">property_list</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">property_get</span><span class="p">(</span><span class="s">'global'</span><span class="p">)</span>
|
||||
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_list_data</span><span class="p">(</span><span class="n">property_list</span><span class="p">)</span>
|
||||
<span class="n">header</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_list_header</span><span class="p">()</span>
|
||||
|
@ -236,21 +236,21 @@
|
|||
<span class="n">header</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_long_flag</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_global</span><span class="p">:</span>
|
||||
<span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'OVR'</span><span class="p">),</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Name'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Value'</span><span class="p">),</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Original Value'</span><span class="p">))</span>
|
||||
<span class="n">header</span> <span class="o">=</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">'OVR'</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">'Property Name'</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">'Property Value'</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">'Original Value'</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'OVR'</span><span class="p">),</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Name'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Value'</span><span class="p">),</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Original Value'</span><span class="p">),</span>
|
||||
<span class="n">header</span> <span class="o">=</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">'OVR'</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">'Property Name'</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">'Property Value'</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">'Original Value'</span><span class="p">),</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">list_type</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_global</span><span class="p">:</span>
|
||||
<span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'OVR'</span><span class="p">),</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Name'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Value'</span><span class="p">))</span>
|
||||
<span class="n">header</span> <span class="o">=</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">'OVR'</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">'Property Name'</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">'Property Value'</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">header</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'OVR'</span><span class="p">),</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Name'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Property Value'</span><span class="p">),</span>
|
||||
<span class="n">header</span> <span class="o">=</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">'OVR'</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">'Property Name'</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">'Property Value'</span><span class="p">),</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">list_type</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">header</span>
|
||||
|
||||
|
@ -270,16 +270,16 @@
|
|||
<span class="k">if</span> <span class="ow">not</span> <span class="n">include_prop</span><span class="p">:</span>
|
||||
<span class="k">continue</span>
|
||||
|
||||
<span class="n">ovr_global</span> <span class="o">=</span> <span class="s1">'-'</span>
|
||||
<span class="n">ovr_group</span> <span class="o">=</span> <span class="s1">'-'</span>
|
||||
<span class="n">ovr_host</span> <span class="o">=</span> <span class="s1">'-'</span>
|
||||
<span class="n">ovr_global</span> <span class="o">=</span> <span class="s">'-'</span>
|
||||
<span class="n">ovr_group</span> <span class="o">=</span> <span class="s">'-'</span>
|
||||
<span class="n">ovr_host</span> <span class="o">=</span> <span class="s">'-'</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">prop</span><span class="o">.</span><span class="n">ovr_global</span><span class="p">:</span>
|
||||
<span class="n">ovr_global</span> <span class="o">=</span> <span class="s1">'*'</span>
|
||||
<span class="n">ovr_global</span> <span class="o">=</span> <span class="s">'*'</span>
|
||||
<span class="k">if</span> <span class="n">prop</span><span class="o">.</span><span class="n">ovr_group</span><span class="p">:</span>
|
||||
<span class="n">ovr_group</span> <span class="o">=</span> <span class="s1">'G'</span>
|
||||
<span class="n">ovr_group</span> <span class="o">=</span> <span class="s">'G'</span>
|
||||
<span class="k">if</span> <span class="n">prop</span><span class="o">.</span><span class="n">ovr_host</span><span class="p">:</span>
|
||||
<span class="n">ovr_host</span> <span class="o">=</span> <span class="s1">'H'</span>
|
||||
<span class="n">ovr_host</span> <span class="o">=</span> <span class="s">'H'</span>
|
||||
|
||||
<span class="n">prop_ovr</span> <span class="o">=</span> <span class="n">ovr_global</span> <span class="o">+</span> <span class="n">ovr_group</span> <span class="o">+</span> <span class="n">ovr_host</span>
|
||||
|
||||
|
@ -299,14 +299,14 @@
|
|||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_long_flag</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_global</span><span class="p">:</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">))</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">))</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_global</span><span class="p">:</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">))</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">))</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">))</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">data</span></div>
|
||||
</pre></div>
|
||||
|
@ -342,7 +342,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.service — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.service — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.service</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">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,10 +83,10 @@
|
|||
|
||||
<div class="viewcode-block" id="ServiceAddGroup.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.service.ServiceAddGroup.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">ServiceAddGroup</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<servicename>'</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="s1">'Service name'</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<servicename>'</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">'Service name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="ServiceAddGroup.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.service.ServiceAddGroup.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>
|
||||
|
@ -108,10 +108,10 @@
|
|||
|
||||
<div class="viewcode-block" id="ServiceRemoveGroup.get_parser"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.service.ServiceRemoveGroup.get_parser">[docs]</a> <span class="k">def</span> <span class="nf">get_parser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prog_name</span><span class="p">):</span>
|
||||
<span class="n">parser</span> <span class="o">=</span> <span class="nb">super</span><span class="p">(</span><span class="n">ServiceRemoveGroup</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">get_parser</span><span class="p">(</span><span class="n">prog_name</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="s1">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<servicename>'</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="s1">'Service name'</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="s1">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s1">'<groupname>'</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="s1">'Group name'</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">'servicename'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<servicename>'</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">'Service name'</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">'groupname'</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s">'<groupname>'</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">'Group name'</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">parser</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="ServiceRemoveGroup.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.service.ServiceRemoveGroup.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>
|
||||
|
@ -133,23 +133,23 @@
|
|||
|
||||
<div class="viewcode-block" id="ServiceListGroups.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.service.ServiceListGroups.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">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">)]</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">)]</span>
|
||||
<span class="n">services</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">service_get_all</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">services</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">service</span> <span class="ow">in</span> <span class="n">services</span><span class="p">:</span>
|
||||
<span class="n">inh_str</span> <span class="o">=</span> <span class="s1">'-'</span>
|
||||
<span class="n">inh_str</span> <span class="o">=</span> <span class="s">'-'</span>
|
||||
<span class="n">groupnames</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">service</span><span class="o">.</span><span class="n">get_groups</span><span class="p">())</span>
|
||||
<span class="n">parentname</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">get_parent</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">parentname</span><span class="p">:</span>
|
||||
<span class="c1"># this is a subservice</span>
|
||||
<span class="n">inh_str</span> <span class="o">=</span> <span class="s1">'no'</span>
|
||||
<span class="c"># this is a subservice</span>
|
||||
<span class="n">inh_str</span> <span class="o">=</span> <span class="s">'no'</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">groupnames</span><span class="p">:</span>
|
||||
<span class="c1"># sub-service is inheriting groups from parent</span>
|
||||
<span class="n">inh_str</span> <span class="o">=</span> <span class="s1">'yes'</span>
|
||||
<span class="n">groupnames</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="c"># sub-service is inheriting groups from parent</span>
|
||||
<span class="n">inh_str</span> <span class="o">=</span> <span class="s">'yes'</span>
|
||||
<span class="n">groupnames</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">service</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">groupnames</span><span class="p">,</span> <span class="n">inh_str</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="p">((</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Service'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Groups'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Inherited'</span><span class="p">)),</span>
|
||||
<span class="k">return</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">'Service'</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">'Groups'</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">'Inherited'</span><span class="p">)),</span>
|
||||
<span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
|
@ -162,15 +162,15 @@
|
|||
|
||||
<div class="viewcode-block" id="ServiceList.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.service.ServiceList.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">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s1">''</span><span class="p">,</span> <span class="s1">''</span><span class="p">)]</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">[(</span><span class="s">''</span><span class="p">,</span> <span class="s">''</span><span class="p">)]</span>
|
||||
<span class="n">services</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">service_get_all</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">services</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">service</span> <span class="ow">in</span> <span class="n">services</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">service</span><span class="o">.</span><span class="n">get_parent</span><span class="p">():</span>
|
||||
<span class="c1"># this is a service, not a subservice</span>
|
||||
<span class="c"># this is a service, not a subservice</span>
|
||||
<span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">service</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">service</span><span class="o">.</span><span class="n">get_children</span><span class="p">()))</span>
|
||||
<span class="k">return</span> <span class="p">((</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Service'</span><span class="p">),</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Sub-Services'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
<span class="k">return</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">'Service'</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">'Sub-Services'</span><span class="p">)),</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
|
||||
|
||||
<span class="k">except</span> <span class="n">ClientException</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
|
@ -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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.support — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.support — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,23 +47,24 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.support</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">cliff.command</span> <span class="kn">import</span> <span class="n">Command</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.api.client</span> <span class="kn">import</span> <span class="n">ClientApi</span>
|
||||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
<span class="kn">import</span> <span class="nn">logging</span>
|
||||
<span class="kn">import</span> <span class="nn">tempfile</span>
|
||||
<span class="kn">import</span> <span class="nn">traceback</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>
|
||||
|
@ -79,10 +80,10 @@
|
|||
<span class="sd"> """</span>
|
||||
<div class="viewcode-block" id="Dump.take_action"><a class="viewcode-back" href="../../../kollacli.commands.html#kollacli.commands.support.Dump.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">dump_path</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">support_dump</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="s1">'Dump successful to {path}'</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">dump_path</span><span class="p">))</span>
|
||||
<span class="n">dump_path</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">support_dump</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="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">'Dump successful to {path}'</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">dump_path</span><span class="p">))</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Dump failed: {reason}'</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</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">'Dump failed: {reason}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">reason</span><span class="o">=</span><span class="n">traceback</span><span class="o">.</span><span class="n">format_exc</span><span class="p">()))</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
@ -118,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands.upgrade — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands.upgrade — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.commands.upgrade</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">logging</span>
|
||||
<span class="kn">import</span> <span class="nn">traceback</span>
|
||||
|
||||
|
@ -88,13 +88,13 @@
|
|||
<span class="n">job</span> <span class="o">=</span> <span class="n">CLIENT</span><span class="o">.</span><span class="n">async_upgrade</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="k">if</span> <span class="n">verbose_level</span> <span class="o">></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="s1">'</span><span class="se">\n\n</span><span class="s1">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s1">'='</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="s1">'DEBUG command output:</span><span class="se">\n</span><span class="s1">{out}'</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">'</span><span class="se">\n\n</span><span class="s">'</span> <span class="o">+</span> <span class="mi">80</span> <span class="o">*</span> <span class="s">'='</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">'DEBUG command output:</span><span class="se">\n</span><span class="s">{out}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">out</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_console_output</span><span class="p">()))</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">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="s1">'Success'</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">'Success'</span><span class="p">))</span>
|
||||
<span class="k">else</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="s1">'Job failed:</span><span class="se">\n</span><span class="s1">{msg}'</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">'Job failed:</span><span class="se">\n</span><span class="s">{msg}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">msg</span><span class="o">=</span><span class="n">job</span><span class="o">.</span><span class="n">get_error_message</span><span class="p">()))</span>
|
||||
|
||||
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
|
@ -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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.ansible.actions — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.ansible.actions — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.ansible.actions</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">logging</span>
|
||||
<span class="kn">import</span> <span class="nn">os</span>
|
||||
|
||||
|
@ -88,26 +88,26 @@
|
|||
<span class="sd"> or killed. That will be determined by the destroy_type,</span>
|
||||
<span class="sd"> which can either be 'stop' or 'kill'.</span>
|
||||
<span class="sd"> '''</span>
|
||||
<span class="n">playbook_name</span> <span class="o">=</span> <span class="s1">'host_destroy_no_data.yml'</span>
|
||||
<span class="n">playbook_name</span> <span class="o">=</span> <span class="s">'host_destroy_no_data.yml'</span>
|
||||
<span class="k">if</span> <span class="n">include_data</span><span class="p">:</span>
|
||||
<span class="n">playbook_name</span> <span class="o">=</span> <span class="s1">'host_destroy.yml'</span>
|
||||
<span class="n">playbook_name</span> <span class="o">=</span> <span class="s">'host_destroy.yml'</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">_LI</span><span class="p">(</span><span class="s1">'Please be patient as this may take a while.'</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">_LI</span><span class="p">(</span><span class="s">'Please be patient as this may take a while.'</span><span class="p">))</span>
|
||||
<span class="n">ansible_properties</span> <span class="o">=</span> <span class="n">properties</span><span class="o">.</span><span class="n">AnsibleProperties</span><span class="p">()</span>
|
||||
<span class="n">base_distro</span> <span class="o">=</span> \
|
||||
<span class="n">ansible_properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s1">'kolla_base_distro'</span><span class="p">)</span>
|
||||
<span class="n">ansible_properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s">'kolla_base_distro'</span><span class="p">)</span>
|
||||
<span class="n">install_type</span> <span class="o">=</span> \
|
||||
<span class="n">ansible_properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s1">'kolla_install_type'</span><span class="p">)</span>
|
||||
<span class="n">container_prefix</span> <span class="o">=</span> <span class="n">base_distro</span> <span class="o">+</span> <span class="s1">'-'</span> <span class="o">+</span> <span class="n">install_type</span>
|
||||
<span class="n">ansible_properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s">'kolla_install_type'</span><span class="p">)</span>
|
||||
<span class="n">container_prefix</span> <span class="o">=</span> <span class="n">base_distro</span> <span class="o">+</span> <span class="s">'-'</span> <span class="o">+</span> <span class="n">install_type</span>
|
||||
<span class="n">kollacli_home</span> <span class="o">=</span> <span class="n">get_kollacli_home</span><span class="p">()</span>
|
||||
<span class="n">playbook</span> <span class="o">=</span> <span class="n">AnsiblePlaybook</span><span class="p">()</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">playbook_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">kollacli_home</span><span class="p">,</span>
|
||||
<span class="s1">'ansible/'</span> <span class="o">+</span> <span class="n">playbook_name</span><span class="p">)</span>
|
||||
<span class="s">'ansible/'</span> <span class="o">+</span> <span class="n">playbook_name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># 'hosts' is defined as 'all' in the playbook yml code, but inventory</span>
|
||||
<span class="c1"># filtering will subset that down to the hosts in playbook.hosts.</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">extra_vars</span> <span class="o">=</span> <span class="s1">'prefix='</span> <span class="o">+</span> <span class="n">container_prefix</span> <span class="o">+</span> \
|
||||
<span class="s1">' destroy_type='</span> <span class="o">+</span> <span class="n">destroy_type</span>
|
||||
<span class="c"># 'hosts' is defined as 'all' in the playbook yml code, but inventory</span>
|
||||
<span class="c"># filtering will subset that down to the hosts in playbook.hosts.</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">extra_vars</span> <span class="o">=</span> <span class="s">'prefix='</span> <span class="o">+</span> <span class="n">container_prefix</span> <span class="o">+</span> \
|
||||
<span class="s">' destroy_type='</span> <span class="o">+</span> <span class="n">destroy_type</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">hosts</span> <span class="o">=</span> <span class="n">hostnames</span>
|
||||
<span class="k">if</span> <span class="n">verbose_level</span> <span class="o"><=</span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">print_output</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
|
@ -121,7 +121,7 @@
|
|||
<span class="n">playbook</span> <span class="o">=</span> <span class="n">AnsiblePlaybook</span><span class="p">()</span>
|
||||
<span class="n">kolla_home</span> <span class="o">=</span> <span class="n">get_kolla_home</span><span class="p">()</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">playbook_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">kolla_home</span><span class="p">,</span>
|
||||
<span class="s1">'ansible/site.yml'</span><span class="p">)</span>
|
||||
<span class="s">'ansible/site.yml'</span><span class="p">)</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">hosts</span> <span class="o">=</span> <span class="n">hostnames</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">groups</span> <span class="o">=</span> <span class="n">groupnames</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">services</span> <span class="o">=</span> <span class="n">servicenames</span>
|
||||
|
@ -137,15 +137,15 @@
|
|||
</div>
|
||||
<div class="viewcode-block" id="precheck"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.actions.precheck">[docs]</a><span class="k">def</span> <span class="nf">precheck</span><span class="p">(</span><span class="n">hostnames</span><span class="p">,</span> <span class="n">verbose_level</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="sd">'''run check playbooks on a set of hosts'''</span>
|
||||
<span class="n">playbook_name</span> <span class="o">=</span> <span class="s1">'prechecks.yml'</span>
|
||||
<span class="n">playbook_name</span> <span class="o">=</span> <span class="s">'prechecks.yml'</span>
|
||||
<span class="n">kolla_home</span> <span class="o">=</span> <span class="n">get_kolla_home</span><span class="p">()</span>
|
||||
<span class="n">playbook</span> <span class="o">=</span> <span class="n">AnsiblePlaybook</span><span class="p">()</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">playbook_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">kolla_home</span><span class="p">,</span>
|
||||
<span class="s1">'ansible/'</span> <span class="o">+</span> <span class="n">playbook_name</span><span class="p">)</span>
|
||||
<span class="s">'ansible/'</span> <span class="o">+</span> <span class="n">playbook_name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># define 'hosts' to be all, but inventory filtering will subset</span>
|
||||
<span class="c1"># that down to the hosts in playbook.hosts.</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">extra_vars</span> <span class="o">=</span> <span class="s1">'hosts=all'</span>
|
||||
<span class="c"># define 'hosts' to be all, but inventory filtering will subset</span>
|
||||
<span class="c"># that down to the hosts in playbook.hosts.</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">extra_vars</span> <span class="o">=</span> <span class="s">'hosts=all'</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">hosts</span> <span class="o">=</span> <span class="n">hostnames</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">print_output</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">verbose_level</span> <span class="o">=</span> <span class="n">verbose_level</span>
|
||||
|
@ -157,8 +157,8 @@
|
|||
<span class="n">playbook</span> <span class="o">=</span> <span class="n">AnsiblePlaybook</span><span class="p">()</span>
|
||||
<span class="n">kolla_home</span> <span class="o">=</span> <span class="n">get_kolla_home</span><span class="p">()</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">playbook_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">kolla_home</span><span class="p">,</span>
|
||||
<span class="s1">'ansible/site.yml'</span><span class="p">)</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">extra_vars</span> <span class="o">=</span> <span class="s1">'action=upgrade'</span>
|
||||
<span class="s">'ansible/site.yml'</span><span class="p">)</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">extra_vars</span> <span class="o">=</span> <span class="s">'action=upgrade'</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">print_output</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="n">playbook</span><span class="o">.</span><span class="n">verbose_level</span> <span class="o">=</span> <span class="n">verbose_level</span>
|
||||
<span class="n">job</span> <span class="o">=</span> <span class="n">playbook</span><span class="o">.</span><span class="n">run</span><span class="p">()</span>
|
||||
|
@ -169,21 +169,21 @@
|
|||
<span class="n">properties</span> <span class="o">=</span> <span class="n">AnsibleProperties</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="c1"># cannot have both groups and hosts</span>
|
||||
<span class="c"># cannot have both groups and hosts</span>
|
||||
<span class="k">if</span> <span class="n">playbook</span><span class="o">.</span><span class="n">hosts</span> <span class="ow">and</span> <span class="n">playbook</span><span class="o">.</span><span class="n">groups</span><span class="p">:</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="s1">'Hosts and Groups arguments cannot '</span>
|
||||
<span class="s1">'both be present at the same time.'</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">'Hosts and Groups arguments cannot '</span>
|
||||
<span class="s">'both be present at the same time.'</span><span class="p">))</span>
|
||||
|
||||
<span class="c1"># verify that all services exists</span>
|
||||
<span class="c"># verify that all services exists</span>
|
||||
<span class="k">if</span> <span class="n">playbook</span><span class="o">.</span><span class="n">services</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">service</span> <span class="ow">in</span> <span class="n">playbook</span><span class="o">.</span><span class="n">services</span><span class="p">:</span>
|
||||
<span class="n">valid_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">service</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">valid_service</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="s1">'Service'</span><span class="p">),</span> <span class="n">service</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">'Service'</span><span class="p">),</span> <span class="n">service</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># check that every group with enabled services</span>
|
||||
<span class="c1"># has hosts associated to it</span>
|
||||
<span class="c"># check that every group with enabled services</span>
|
||||
<span class="c"># has hosts associated to it</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">failed_groups</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">failed_services</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
@ -203,29 +203,29 @@
|
|||
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">failed_groups</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">InvalidConfiguration</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Deploy failed. '</span>
|
||||
<span class="s1">'Groups: {groups} with enabled '</span>
|
||||
<span class="s1">'services : {services} '</span>
|
||||
<span class="s1">'have no associated hosts'</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">'Deploy failed. '</span>
|
||||
<span class="s">'Groups: {groups} with enabled '</span>
|
||||
<span class="s">'services : {services} '</span>
|
||||
<span class="s">'have no associated hosts'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">groups</span><span class="o">=</span><span class="n">failed_groups</span><span class="p">,</span> <span class="n">services</span><span class="o">=</span><span class="n">failed_services</span><span class="p">))</span>
|
||||
|
||||
<span class="c1"># check that ring files are in /etc/kolla/config/swift if</span>
|
||||
<span class="c1"># swift is enabled</span>
|
||||
<span class="n">expected_files</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'account.ring.gz'</span><span class="p">,</span>
|
||||
<span class="s1">'container.ring.gz'</span><span class="p">,</span>
|
||||
<span class="s1">'object.ring.gz'</span><span class="p">]</span>
|
||||
<span class="n">is_enabled</span> <span class="o">=</span> <span class="n">properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s1">'enable_swift'</span><span class="p">)</span>
|
||||
<span class="c"># check that ring files are in /etc/kolla/config/swift if</span>
|
||||
<span class="c"># swift is enabled</span>
|
||||
<span class="n">expected_files</span> <span class="o">=</span> <span class="p">[</span><span class="s">'account.ring.gz'</span><span class="p">,</span>
|
||||
<span class="s">'container.ring.gz'</span><span class="p">,</span>
|
||||
<span class="s">'object.ring.gz'</span><span class="p">]</span>
|
||||
<span class="n">is_enabled</span> <span class="o">=</span> <span class="n">properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s">'enable_swift'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">is_string_true</span><span class="p">(</span><span class="n">is_enabled</span><span class="p">):</span>
|
||||
<span class="n">path_pre</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_etc</span><span class="p">(),</span> <span class="s1">'config'</span><span class="p">,</span> <span class="s1">'swift'</span><span class="p">)</span>
|
||||
<span class="n">path_pre</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_etc</span><span class="p">(),</span> <span class="s">'config'</span><span class="p">,</span> <span class="s">'swift'</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">expected_file</span> <span class="ow">in</span> <span class="n">expected_files</span><span class="p">:</span>
|
||||
<span class="n">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">path_pre</span><span class="p">,</span> <span class="n">expected_file</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">isfile</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span>
|
||||
<span class="s1">'Deploy failed. '</span>
|
||||
<span class="s1">'Swift is enabled but ring buffers have '</span>
|
||||
<span class="s1">'not yet been set up. Please see the '</span>
|
||||
<span class="s1">'documentation for swift configuration '</span>
|
||||
<span class="s1">'instructions.'</span><span class="p">)</span>
|
||||
<span class="s">'Deploy failed. '</span>
|
||||
<span class="s">'Swift is enabled but ring buffers have '</span>
|
||||
<span class="s">'not yet been set up. Please see the '</span>
|
||||
<span class="s">'documentation for swift configuration '</span>
|
||||
<span class="s">'instructions.'</span><span class="p">)</span>
|
||||
<span class="k">raise</span> <span class="n">InvalidConfiguration</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
|
||||
|
||||
|
||||
|
@ -235,21 +235,21 @@
|
|||
|
||||
<span class="n">sub_service</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="k">if</span> <span class="n">sub_service</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="n">enabled_property</span> <span class="o">=</span> <span class="s1">'enable_'</span> <span class="o">+</span> <span class="n">servicename</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">'-'</span><span class="p">,</span> <span class="s1">'_'</span><span class="p">)</span>
|
||||
<span class="n">enabled_property</span> <span class="o">=</span> <span class="s">'enable_'</span> <span class="o">+</span> <span class="n">servicename</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'-'</span><span class="p">,</span> <span class="s">'_'</span><span class="p">)</span>
|
||||
<span class="n">is_enabled</span> <span class="o">=</span> <span class="n">properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="n">enabled_property</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">is_string_true</span><span class="p">(</span><span class="n">is_enabled</span><span class="p">):</span>
|
||||
<span class="n">service_enabled</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
|
||||
<span class="c1"># Only bother looking at the parent service if the sub service</span>
|
||||
<span class="c1"># is enabled.</span>
|
||||
<span class="c"># Only bother looking at the parent service if the sub service</span>
|
||||
<span class="c"># is enabled.</span>
|
||||
<span class="k">if</span> <span class="n">service_enabled</span><span class="p">:</span>
|
||||
<span class="n">servicename</span> <span class="o">=</span> <span class="n">sub_service</span><span class="o">.</span><span class="n">get_parent_service_name</span><span class="p">()</span>
|
||||
<span class="n">servicename</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="k">if</span> <span class="n">servicename</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="n">servicename</span> <span class="o">=</span> <span class="n">_find_parent_service</span><span class="p">(</span><span class="n">sub_service</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">inventory</span><span class="p">)</span>
|
||||
|
||||
<span class="n">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">service</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="n">enabled_property</span> <span class="o">=</span> <span class="s1">'enable_'</span> <span class="o">+</span> <span class="n">servicename</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s1">'-'</span><span class="p">,</span> <span class="s1">'_'</span><span class="p">)</span>
|
||||
<span class="n">enabled_property</span> <span class="o">=</span> <span class="s">'enable_'</span> <span class="o">+</span> <span class="n">servicename</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'-'</span><span class="p">,</span> <span class="s">'_'</span><span class="p">)</span>
|
||||
<span class="n">is_enabled</span> <span class="o">=</span> <span class="n">properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="n">enabled_property</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">is_string_true</span><span class="p">(</span><span class="n">is_enabled</span><span class="p">):</span>
|
||||
<span class="n">service_enabled</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
|
@ -300,7 +300,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.ansible.job — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.ansible.job — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,24 +47,24 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.ansible.job</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">fcntl</span>
|
||||
<span class="kn">import</span> <span class="nn">json</span>
|
||||
<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">subprocess</span> <span class="c1"># nosec</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>
|
||||
|
||||
|
@ -78,14 +78,14 @@
|
|||
|
||||
<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="s1">'.kolla_pipe_'</span>
|
||||
<span class="n">PIPE_PREFIX</span> <span class="o">=</span> <span class="s">'.kolla_pipe_'</span>
|
||||
|
||||
<span class="c1"># action defs</span>
|
||||
<span class="n">ACTION_PLAY_START</span> <span class="o">=</span> <span class="s1">'play_start'</span>
|
||||
<span class="n">ACTION_TASK_START</span> <span class="o">=</span> <span class="s1">'task_start'</span>
|
||||
<span class="n">ACTION_TASK_END</span> <span class="o">=</span> <span class="s1">'task_end'</span>
|
||||
<span class="n">ACTION_INCLUDE_FILE</span> <span class="o">=</span> <span class="s1">'includefile'</span>
|
||||
<span class="n">ACTION_STATS</span> <span class="o">=</span> <span class="s1">'stats'</span>
|
||||
<span class="c"># action defs</span>
|
||||
<span class="n">ACTION_PLAY_START</span> <span class="o">=</span> <span class="s">'play_start'</span>
|
||||
<span class="n">ACTION_TASK_START</span> <span class="o">=</span> <span class="s">'task_start'</span>
|
||||
<span class="n">ACTION_TASK_END</span> <span class="o">=</span> <span class="s">'task_end'</span>
|
||||
<span class="n">ACTION_INCLUDE_FILE</span> <span class="o">=</span> <span class="s">'includefile'</span>
|
||||
<span class="n">ACTION_STATS</span> <span class="o">=</span> <span class="s">'stats'</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>
|
||||
|
@ -97,30 +97,31 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">_print_output</span> <span class="o">=</span> <span class="n">print_output</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_temp_inv_path</span> <span class="o">=</span> <span class="n">inventory_path</span>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">=</span> <span class="s">''</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="s1">'</span><span class="si">%s</span><span class="s1">_</span><span class="si">%s</span><span class="s1">'</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">'</span><span class="si">%s</span><span class="s">_</span><span class="si">%s</span><span class="s">'</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="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>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_errors</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_cmd_output</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_cmd_output</span> <span class="o">=</span> <span class="s">''</span>
|
||||
|
||||
<div class="viewcode-block" id="AnsibleJob.run"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob.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="c1"># create and open named pipe, must be owned by kolla group</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">_</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="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>
|
||||
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_process</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_command</span><span class="p">,</span> <span class="c1"># nosec</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_process</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_command</span><span class="p">,</span> <span class="c"># nosec</span>
|
||||
<span class="n">shell</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
|
||||
<span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
|
||||
<span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># setup stdout to be read without blocking</span>
|
||||
<span class="c"># setup stdout to be read without blocking</span>
|
||||
<span class="n">flags</span> <span class="o">=</span> <span class="n">fcntl</span><span class="o">.</span><span class="n">fcntl</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">stdout</span><span class="p">,</span> <span class="n">fcntl</span><span class="o">.</span><span class="n">F_GETFL</span><span class="p">)</span>
|
||||
<span class="n">fcntl</span><span class="o">.</span><span class="n">fcntl</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">stdout</span><span class="p">,</span> <span class="n">fcntl</span><span class="o">.</span><span class="n">F_SETFL</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="n">flags</span> <span class="o">|</span> <span class="n">os</span><span class="o">.</span><span class="n">O_NONBLOCK</span><span class="p">))</span>
|
||||
|
@ -150,25 +151,29 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">poll</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_read_from_callback</span><span class="p">()</span>
|
||||
<span class="n">out</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_read_stream</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">stdout</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_cmd_output</span> <span class="o">=</span> <span class="s">''</span><span class="o">.</span><span class="n">join</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">out</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_cleanup</span><span class="p">()</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">returncode</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="c"># job has completed</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">returncode</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">out</span> <span class="o">=</span> <span class="n">safe_decode</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">stdout</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
|
||||
<span class="k">if</span> <span class="n">out</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_cmd_output</span> <span class="o">=</span> <span class="s1">''</span><span class="o">.</span><span class="n">join</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">out</span><span class="p">])</span>
|
||||
<span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span> <span class="c1"># nosec</span>
|
||||
<span class="c1"># error can happen if stdout is empty</span>
|
||||
<span class="k">pass</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_process_std_err</span><span class="p">:</span>
|
||||
<span class="c"># read stderr from process</span>
|
||||
<span class="n">std_err</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_read_stream</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">stderr</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_process_std_err</span> <span class="o">=</span> <span class="n">std_err</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_cleanup</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">status</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="AnsibleJob.get_error_message"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob.get_error_message">[docs]</a> <span class="k">def</span> <span class="nf">get_error_message</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">""""get error message"""</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">for</span> <span class="n">error</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_errors</span><span class="p">:</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">''</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="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">])</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">''</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">'</span><span class="se">\n</span><span class="s">'</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="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>
|
||||
</div>
|
||||
<div class="viewcode-block" id="AnsibleJob.get_command_output"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.job.AnsibleJob.get_command_output">[docs]</a> <span class="k">def</span> <span class="nf">get_command_output</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
|
@ -178,21 +183,45 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cmd_output</span>
|
||||
</div>
|
||||
<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">''</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>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">out</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">stream</span><span class="o">.</span><span class="n">read</span><span class="p">())</span>
|
||||
<span class="k">except</span> <span class="ne">IOError</span><span class="p">:</span> <span class="c"># nosec</span>
|
||||
<span class="c"># error can happen if stream is empty</span>
|
||||
<span class="k">pass</span>
|
||||
<span class="k">if</span> <span class="n">out</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="n">out</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">return</span> <span class="n">out</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_log_lines</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">lines</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_print_output</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="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_cleanup</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="c1"># delete temp inventory file</span>
|
||||
<span class="sd">"""cleanup job</span>
|
||||
|
||||
<span class="sd"> - delete temp inventory</span>
|
||||
<span class="sd"> - close stdout and stderr</span>
|
||||
<span class="sd"> - close and delete named pipe (fifo)</span>
|
||||
<span class="sd"> """</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="c1"># close and delete the named pipe (fifo)</span>
|
||||
<span class="c"># close the process's stdout and stderr streams</span>
|
||||
<span class="k">if</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>
|
||||
<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">close</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_process</span><span class="o">.</span><span class="n">stderr</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">stderr</span><span class="o">.</span><span class="n">closed</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">stderr</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
|
||||
<span class="c"># close and delete the named pipe (fifo)</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_fifo_fd</span><span class="p">:</span>
|
||||
<span class="k">try</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">_fifo_fd</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">OSError</span><span class="p">:</span> <span class="c1"># nosec</span>
|
||||
<span class="c1"># fifo already closed</span>
|
||||
<span class="k">except</span> <span class="ne">OSError</span><span class="p">:</span> <span class="c"># nosec</span>
|
||||
<span class="c"># fifo already closed</span>
|
||||
<span class="k">pass</span>
|
||||
<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>
|
||||
|
@ -203,18 +232,18 @@
|
|||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_fifo_fd</span><span class="p">,</span> <span class="mi">1000000</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">OSError</span><span class="p">:</span> <span class="c1"># nosec</span>
|
||||
<span class="c1"># error can happen if fifo is empty</span>
|
||||
<span class="k">except</span> <span class="ne">OSError</span><span class="p">:</span> <span class="c"># nosec</span>
|
||||
<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">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>
|
||||
<span class="n">lines</span> <span class="o">=</span> <span class="n">formatted_data</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="n">lines</span> <span class="o">=</span> <span class="n">formatted_data</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_log_lines</span><span class="p">(</span><span class="n">lines</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_format_packet</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">packet</span><span class="p">):</span>
|
||||
<span class="n">action</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'action'</span><span class="p">]</span>
|
||||
<span class="n">action</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'action'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">action</span> <span class="o">==</span> <span class="n">ACTION_INCLUDE_FILE</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_format_include_file</span><span class="p">(</span><span class="n">packet</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="n">action</span> <span class="o">==</span> <span class="n">ACTION_PLAY_START</span><span class="p">:</span>
|
||||
|
@ -226,66 +255,92 @@
|
|||
<span class="k">elif</span> <span class="n">action</span> <span class="o">==</span> <span class="n">ACTION_TASK_START</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_format_task_start</span><span class="p">(</span><span class="n">packet</span><span class="p">)</span>
|
||||
<span class="k">else</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="s1">'Invalid action [{action}] from callback'</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">'Invalid action [{action}] from callback'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">action</span><span class="o">=</span><span class="n">action</span><span class="p">))</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_format_include_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">packet</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="s1">'included: </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'filename'</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="s">'included: </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">packet</span><span class="p">[</span><span class="s">'filename'</span><span class="p">]</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_format_play_start</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">packet</span><span class="p">):</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s1">'PLAY '</span><span class="p">,</span> <span class="n">LINE_LENGTH</span><span class="p">,</span> <span class="s1">'*'</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s">'PLAY '</span><span class="p">,</span> <span class="n">LINE_LENGTH</span><span class="p">,</span> <span class="s">'*'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_first_packet</span><span class="p">:</span>
|
||||
<span class="n">msg</span> <span class="o">+=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">Playbook: </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'playbook'</span><span class="p">]</span>
|
||||
<span class="n">msg</span> <span class="o">+=</span> <span class="s">'</span><span class="se">\n</span><span class="s">Playbook: </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">packet</span><span class="p">[</span><span class="s">'playbook'</span><span class="p">]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_is_first_packet</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="k">return</span> <span class="n">msg</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_format_stats</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">packet</span><span class="p">):</span>
|
||||
<span class="c1"># each element is a dictionary with host as key</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s1">'PLAY RECAP '</span><span class="p">,</span> <span class="n">LINE_LENGTH</span><span class="p">,</span> <span class="s1">'*'</span><span class="p">)</span>
|
||||
<span class="n">processed</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'processed'</span><span class="p">]</span>
|
||||
<span class="n">ok</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'ok'</span><span class="p">]</span>
|
||||
<span class="n">changed</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'changed'</span><span class="p">]</span>
|
||||
<span class="n">unreachable</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'unreachable'</span><span class="p">]</span>
|
||||
<span class="n">failures</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'failures'</span><span class="p">]</span>
|
||||
<span class="c"># each element is a dictionary with host as key</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s">'PLAY RECAP '</span><span class="p">,</span> <span class="n">LINE_LENGTH</span><span class="p">,</span> <span class="s">'*'</span><span class="p">)</span>
|
||||
<span class="n">processed</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'processed'</span><span class="p">]</span>
|
||||
<span class="n">ok</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'ok'</span><span class="p">]</span>
|
||||
<span class="n">changed</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'changed'</span><span class="p">]</span>
|
||||
<span class="n">unreachable</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'unreachable'</span><span class="p">]</span>
|
||||
<span class="n">failures</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'failures'</span><span class="p">]</span>
|
||||
<span class="k">for</span> <span class="n">host</span> <span class="ow">in</span> <span class="n">processed</span><span class="p">:</span>
|
||||
<span class="n">hostline</span> <span class="o">=</span> <span class="s1">'</span><span class="se">\n</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="mi">28</span><span class="p">,</span> <span class="s1">' '</span><span class="p">)</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">': ok=</span><span class="si">%s</span><span class="s1">'</span>
|
||||
<span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s1">'</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">ok</span><span class="p">[</span><span class="n">host</span><span class="p">],</span> <span class="mi">5</span><span class="p">,</span> <span class="s1">' '</span><span class="p">))</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">'changed=</span><span class="si">%s</span><span class="s1">'</span>
|
||||
<span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s1">'</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">changed</span><span class="p">[</span><span class="n">host</span><span class="p">],</span> <span class="mi">5</span><span class="p">,</span> <span class="s1">' '</span><span class="p">))</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="p">(</span><span class="s1">'unreachable=</span><span class="si">%s</span><span class="s1">'</span>
|
||||
<span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s1">'</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">unreachable</span><span class="p">[</span><span class="n">host</span><span class="p">],</span> <span class="mi">5</span><span class="p">,</span> <span class="s1">' '</span><span class="p">))</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="s1">'failed=</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">failures</span><span class="p">[</span><span class="n">host</span><span class="p">]</span>
|
||||
<span class="n">hostline</span> <span class="o">=</span> <span class="s">'</span><span class="se">\n</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="mi">28</span><span class="p">,</span> <span class="s">' '</span><span class="p">)</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="p">(</span><span class="s">': ok=</span><span class="si">%s</span><span class="s">'</span>
|
||||
<span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">ok</span><span class="p">[</span><span class="n">host</span><span class="p">],</span> <span class="mi">5</span><span class="p">,</span> <span class="s">' '</span><span class="p">))</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="p">(</span><span class="s">'changed=</span><span class="si">%s</span><span class="s">'</span>
|
||||
<span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">changed</span><span class="p">[</span><span class="n">host</span><span class="p">],</span> <span class="mi">5</span><span class="p">,</span> <span class="s">' '</span><span class="p">))</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="p">(</span><span class="s">'unreachable=</span><span class="si">%s</span><span class="s">'</span>
|
||||
<span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">unreachable</span><span class="p">[</span><span class="n">host</span><span class="p">],</span> <span class="mi">5</span><span class="p">,</span> <span class="s">' '</span><span class="p">))</span>
|
||||
<span class="n">hostline</span> <span class="o">+=</span> <span class="s">'failed=</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">failures</span><span class="p">[</span><span class="n">host</span><span class="p">]</span>
|
||||
<span class="n">msg</span> <span class="o">+=</span> <span class="n">hostline</span>
|
||||
<span class="k">return</span> <span class="n">msg</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_format_task_end</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">packet</span><span class="p">):</span>
|
||||
<span class="n">host</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'host'</span><span class="p">]</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'status'</span><span class="p">]</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1">: [</span><span class="si">%s</span><span class="s1">]'</span> <span class="o">%</span> <span class="p">(</span><span class="n">status</span><span class="p">,</span> <span class="n">host</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="s1">'failed'</span> <span class="ow">or</span> <span class="n">status</span> <span class="o">==</span> <span class="s1">'unreachable'</span><span class="p">:</span>
|
||||
<span class="n">results_dict</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'results'</span><span class="p">]</span>
|
||||
<span class="n">taskname</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'task'</span><span class="p">][</span><span class="s1">'name'</span><span class="p">]</span>
|
||||
<span class="n">host</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'host'</span><span class="p">]</span>
|
||||
<span class="n">status</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'status'</span><span class="p">]</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s">: [</span><span class="si">%s</span><span class="s">]'</span> <span class="o">%</span> <span class="p">(</span><span class="n">status</span><span class="p">,</span> <span class="n">host</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">status</span> <span class="o">==</span> <span class="s">'failed'</span> <span class="ow">or</span> <span class="n">status</span> <span class="o">==</span> <span class="s">'unreachable'</span><span class="p">:</span>
|
||||
<span class="n">results_dict</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'results'</span><span class="p">]</span>
|
||||
<span class="n">taskname</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'task'</span><span class="p">][</span><span class="s">'name'</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># update saved error messages</span>
|
||||
<span class="c"># update saved error messages</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_errors</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_format_error</span><span class="p">(</span><span class="n">taskname</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span>
|
||||
<span class="n">status</span><span class="p">,</span> <span class="n">results_dict</span><span class="p">))</span>
|
||||
<span class="c1"># format log message</span>
|
||||
<span class="c"># format log message</span>
|
||||
<span class="n">results</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">results_dict</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">'fatal: [</span><span class="si">%s</span><span class="s1">]: </span><span class="si">%s</span><span class="s1">! => </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">status</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">results</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">'fatal: [</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">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">status</span><span class="o">.</span><span class="n">upper</span><span class="p">(),</span> <span class="n">results</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">msg</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_format_task_start</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">packet</span><span class="p">):</span>
|
||||
<span class="n">taskname</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s1">'name'</span><span class="p">]</span>
|
||||
<span class="n">task_line</span> <span class="o">=</span> <span class="s1">'TASK [</span><span class="si">%s</span><span class="s1">] '</span> <span class="o">%</span> <span class="n">taskname</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="n">task_line</span><span class="p">,</span> <span class="n">LINE_LENGTH</span><span class="p">,</span> <span class="s1">'*'</span><span class="p">)</span>
|
||||
<span class="n">taskname</span> <span class="o">=</span> <span class="n">packet</span><span class="p">[</span><span class="s">'name'</span><span class="p">]</span>
|
||||
<span class="n">task_line</span> <span class="o">=</span> <span class="s">'TASK [</span><span class="si">%s</span><span class="s">] '</span> <span class="o">%</span> <span class="n">taskname</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_add_filler</span><span class="p">(</span><span class="n">task_line</span><span class="p">,</span> <span class="n">LINE_LENGTH</span><span class="p">,</span> <span class="s">'*'</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">msg</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_format_error</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">taskname</span><span class="p">,</span> <span class="n">host</span><span class="p">,</span> <span class="n">status</span><span class="p">,</span> <span class="n">results</span><span class="p">):</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="k">if</span> <span class="s1">'msg'</span> <span class="ow">in</span> <span class="n">results</span> <span class="ow">and</span> <span class="n">results</span><span class="p">[</span><span class="s1">'msg'</span><span class="p">]:</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="n">results</span><span class="p">[</span><span class="s1">'msg'</span><span class="p">]</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'Host: </span><span class="si">%s</span><span class="s1">, Task: </span><span class="si">%s</span><span class="s1">, Status: </span><span class="si">%s</span><span class="s1">, Message: </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span>
|
||||
<span class="c"># get the primary error message</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="n">results</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'msg'</span><span class="p">,</span> <span class="s">''</span><span class="p">)</span>
|
||||
|
||||
<span class="c"># there may be more detailed error msgs under results</span>
|
||||
<span class="n">sub_results</span> <span class="o">=</span> <span class="n">results</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'results'</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">sub_results</span><span class="p">:</span>
|
||||
<span class="n">sub_errs</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">for</span> <span class="n">invocation</span> <span class="ow">in</span> <span class="n">sub_results</span><span class="p">:</span>
|
||||
<span class="n">is_failed</span> <span class="o">=</span> <span class="n">invocation</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'failed'</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">is_failed</span> <span class="ow">is</span> <span class="bp">True</span><span class="p">:</span>
|
||||
<span class="n">sub_msg</span> <span class="o">=</span> <span class="n">invocation</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'msg'</span><span class="p">,</span> <span class="s">''</span><span class="p">)</span>
|
||||
<span class="n">sub_errs</span> <span class="o">=</span> <span class="s">''</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">sub_errs</span><span class="p">,</span> <span class="n">comma</span><span class="p">,</span> <span class="n">sub_msg</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">sub_msg</span><span class="p">:</span>
|
||||
<span class="n">comma</span> <span class="o">=</span> <span class="s">', '</span>
|
||||
<span class="k">if</span> <span class="n">sub_errs</span><span class="p">:</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="s">''</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">err_msg</span><span class="p">,</span> <span class="s">' ['</span><span class="p">,</span> <span class="n">sub_errs</span><span class="p">,</span> <span class="s">']'</span><span class="p">])</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">err_msg</span><span class="p">:</span>
|
||||
<span class="c"># sometimes the error message is in std_out</span>
|
||||
<span class="c"># eg- "stdout": 'localhost | FAILED! => {"changed": false,</span>
|
||||
<span class="c"># "failed": true, "msg": "...msg..."}'</span>
|
||||
<span class="n">stdout</span> <span class="o">=</span> <span class="n">results</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">'stdout'</span><span class="p">,</span> <span class="s">''</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="s">'"msg": "'</span> <span class="ow">in</span> <span class="n">stdout</span><span class="p">:</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="n">stdout</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'"msg": "'</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="n">err_msg</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'"'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">err_msg</span><span class="p">:</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="n">stdout</span>
|
||||
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s">'Host: </span><span class="si">%s</span><span class="s">, Task: </span><span class="si">%s</span><span class="s">, Status: </span><span class="si">%s</span><span class="s">, Message: </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span>
|
||||
<span class="p">(</span><span class="n">host</span><span class="p">,</span> <span class="n">taskname</span><span class="p">,</span> <span class="n">status</span><span class="p">,</span> <span class="n">err_msg</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">msg</span>
|
||||
|
||||
|
@ -304,29 +359,29 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="n">packets</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<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="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">):</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">'</span><span class="se">\n</span><span class="s">'</span><span class="p">):</span>
|
||||
<span class="n">has_fragment</span> <span class="o">=</span> <span class="bp">False</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="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</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">'</span><span class="se">\n</span><span class="s">'</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="c1"># ignore empty string lines</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="c1"># first line</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="s1">''</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_fragment</span> <span class="o">=</span> <span class="s">''</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="c1"># last line</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="s1">'invalid line for json encoding: </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">line</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">'invalid line for json encoding: </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">line</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>
|
||||
</pre></div>
|
||||
|
@ -362,7 +417,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.ansible.playbook — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.ansible.playbook — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,22 +47,21 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.ansible.playbook</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">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">subprocess</span> <span class="c1"># nosec</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>
|
||||
|
@ -79,8 +78,8 @@
|
|||
|
||||
|
||||
<div class="viewcode-block" id="AnsiblePlaybook"><a class="viewcode-back" href="../../../../kollacli.common.ansible.html#kollacli.common.ansible.playbook.AnsiblePlaybook">[docs]</a><span class="k">class</span> <span class="nc">AnsiblePlaybook</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<span class="n">playbook_path</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">extra_vars</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">playbook_path</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="n">extra_vars</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="n">include_passwords</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="n">flush_cache</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="n">print_output</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
|
@ -90,7 +89,10 @@
|
|||
<span class="n">services</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="n">serial</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="n">deploy_id</span> <span class="o">=</span> <span class="bp">None</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</span> <span class="o">=</span> <span class="bp">None</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">inventory</span> <span class="o">=</span> <span class="n">Inventory</span><span class="o">.</span><span class="n">load</span><span class="p">()</span>
|
||||
|
||||
<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>
|
||||
|
@ -98,7 +100,7 @@
|
|||
<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>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_log_ansible_cmd</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">inventory_path</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># create and run the job</span>
|
||||
<span class="c"># create and run the job</span>
|
||||
<span class="n">job</span> <span class="o">=</span> <span class="n">AnsibleJob</span><span class="p">(</span><span class="n">cmd</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="bp">self</span><span class="o">.</span><span class="n">print_output</span><span class="p">,</span> <span class="n">inventory_path</span><span class="p">)</span>
|
||||
<span class="n">job</span><span class="o">.</span><span class="n">run</span><span class="p">()</span>
|
||||
|
@ -108,46 +110,46 @@
|
|||
<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">_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="s1">''</span>
|
||||
<span class="c1"># verbose levels: 1=not verbose, 2=more verbose</span>
|
||||
<span class="n">flag</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="c"># verbose levels: 1=not verbose, 2=more verbose</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_level</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="n">flag</span> <span class="o">=</span> <span class="s1">'-vvv'</span>
|
||||
<span class="n">flag</span> <span class="o">=</span> <span class="s">'-vvv'</span>
|
||||
|
||||
<span class="n">ansible_cmd</span> <span class="o">=</span> <span class="n">get_ansible_command</span><span class="p">(</span><span class="n">playbook</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="n">admin_user</span> <span class="o">=</span> <span class="n">get_admin_user</span><span class="p">()</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s1">'/usr/bin/sudo -u </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">admin_user</span><span class="p">,</span> <span class="n">ansible_cmd</span><span class="p">,</span> <span class="n">flag</span><span class="p">)</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'/usr/bin/sudo -u </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">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">admin_user</span><span class="p">,</span> <span class="n">ansible_cmd</span><span class="p">,</span> <span class="n">flag</span><span class="p">)</span>
|
||||
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s1">' -i </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">inventory_path</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s">' -i </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">inventory_path</span>
|
||||
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">include_passwords</span><span class="p">:</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s1">' </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_password_path</span><span class="p">()</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s">' </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_password_path</span><span class="p">()</span>
|
||||
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s1">' </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">playbook_path</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s">' </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="bp">self</span><span class="o">.</span><span class="n">playbook_path</span>
|
||||
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_vars</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">serial</span><span class="p">:</span>
|
||||
<span class="n">extra_vars</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">extra_vars</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_vars</span><span class="p">:</span>
|
||||
<span class="n">extra_vars</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">extra_vars</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">serial</span><span class="p">:</span>
|
||||
<span class="n">extra_vars</span> <span class="o">+=</span> <span class="s1">' '</span>
|
||||
<span class="n">extra_vars</span> <span class="o">+=</span> <span class="s">' '</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">serial</span><span class="p">:</span>
|
||||
<span class="n">extra_vars</span> <span class="o">+=</span> <span class="s1">'serial_var=1'</span>
|
||||
<span class="n">extra_vars</span> <span class="o">+=</span> <span class="s">'serial_var=1'</span>
|
||||
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s1">' --extra-vars </span><span class="se">\"</span><span class="si">%s</span><span class="se">\"</span><span class="s1">'</span> <span class="o">%</span> <span class="n">extra_vars</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s">' --extra-vars </span><span class="se">\"</span><span class="si">%s</span><span class="se">\"</span><span class="s">'</span> <span class="o">%</span> <span class="n">extra_vars</span>
|
||||
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">services</span><span class="p">:</span>
|
||||
<span class="n">service_string</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">service_string</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="n">first</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="k">for</span> <span class="n">service</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="k">if</span> <span class="ow">not</span> <span class="n">first</span><span class="p">:</span>
|
||||
<span class="n">service_string</span> <span class="o">=</span> <span class="n">service_string</span> <span class="o">+</span> <span class="s1">','</span>
|
||||
<span class="n">service_string</span> <span class="o">=</span> <span class="n">service_string</span> <span class="o">+</span> <span class="s">','</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">first</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="n">service_string</span> <span class="o">=</span> <span class="n">service_string</span> <span class="o">+</span> <span class="n">service</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s1">' --tags </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">service_string</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s">' --tags </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">service_string</span>
|
||||
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">flush_cache</span><span class="p">:</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s1">' --flush-cache'</span>
|
||||
<span class="n">cmd</span> <span class="o">+=</span> <span class="s">' --flush-cache'</span>
|
||||
<span class="k">return</span> <span class="n">cmd</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_make_temp_inventory</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
|
@ -163,40 +165,37 @@
|
|||
<span class="k">for</span> <span class="n">hostname</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">hosts</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">hostname</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">host</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="s1">'Host'</span><span class="p">),</span> <span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="n">inventory_filter</span><span class="p">[</span><span class="s1">'deploy_hosts'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hosts</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">'Host'</span><span class="p">),</span> <span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="n">inventory_filter</span><span class="p">[</span><span class="s">'deploy_hosts'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hosts</span>
|
||||
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">groups</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">groupname</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">groups</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">groupname</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">group</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="s1">'Group'</span><span class="p">),</span> <span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="n">inventory_filter</span><span class="p">[</span><span class="s1">'deploy_groups'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">groups</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">'Group'</span><span class="p">),</span> <span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="n">inventory_filter</span><span class="p">[</span><span class="s">'deploy_groups'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">groups</span>
|
||||
<span class="n">inventory_path</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">create_json_gen_file</span><span class="p">(</span><span class="n">inventory_filter</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># inv path = /tmp/kolla_UUID/temp_inventory.py</span>
|
||||
<span class="c"># inv path = /tmp/kolla_UUID/temp_inventory.py</span>
|
||||
<span class="n">deploy_id</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">dirname</span><span class="p">(</span><span class="n">inventory_path</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">deploy_id</span> <span class="o">=</span> <span class="n">deploy_id</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'kolla_'</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">deploy_id</span> <span class="o">=</span> <span class="n">deploy_id</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'kolla_'</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">inventory_path</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_password_path</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">kolla_etc</span> <span class="o">=</span> <span class="n">get_kolla_etc</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="s1">'-e @'</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">kolla_etc</span><span class="p">,</span> <span class="s1">'passwords.yml '</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="s">'-e @'</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">kolla_etc</span><span class="p">,</span> <span class="s">'passwords.yml '</span><span class="p">))</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_log_ansible_cmd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">cmd</span><span class="p">,</span> <span class="n">inventory_path</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_level</span> <span class="o">></span> <span class="mi">2</span><span class="p">:</span>
|
||||
<span class="c1"># log the ansible command</span>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">'cmd:'</span> <span class="o">+</span> <span class="n">cmd</span><span class="p">)</span>
|
||||
<span class="c"># log the ansible command</span>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'cmd:</span><span class="se">\n</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">cmd</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">verbose_level</span> <span class="o">></span> <span class="mi">3</span><span class="p">:</span>
|
||||
<span class="c1"># log the inventory</span>
|
||||
<span class="n">dbg_gen</span> <span class="o">=</span> <span class="n">inventory_path</span>
|
||||
<span class="p">(</span><span class="n">inv</span><span class="p">,</span> <span class="n">_</span><span class="p">)</span> <span class="o">=</span> \
|
||||
<span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="n">dbg_gen</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="c1"># nosec</span>
|
||||
<span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
|
||||
<span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span><span class="o">.</span><span class="n">communicate</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="n">inv</span><span class="p">)</span></div>
|
||||
<span class="c"># log the inventory</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">inventory_path</span><span class="p">,</span> <span class="s">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">inv_file</span><span class="p">:</span>
|
||||
<span class="n">inv</span> <span class="o">=</span> <span class="n">inv_file</span><span class="o">.</span><span class="n">read</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">'</span><span class="se">\n</span><span class="s">inventory: </span><span class="se">\n</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">inv</span><span class="p">)</span></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
@ -230,7 +229,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.inventory — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.inventory — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.inventory</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">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>
|
||||
|
@ -86,17 +86,17 @@
|
|||
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">sync_read_file</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.utils</span> <span class="kn">import</span> <span class="n">sync_write_file</span>
|
||||
|
||||
<span class="n">ANSIBLE_SSH_USER</span> <span class="o">=</span> <span class="s1">'ansible_ssh_user'</span>
|
||||
<span class="n">ANSIBLE_CONNECTION</span> <span class="o">=</span> <span class="s1">'ansible_connection'</span>
|
||||
<span class="n">ANSIBLE_BECOME</span> <span class="o">=</span> <span class="s1">'ansible_become'</span>
|
||||
<span class="n">ANSIBLE_SSH_USER</span> <span class="o">=</span> <span class="s">'ansible_ssh_user'</span>
|
||||
<span class="n">ANSIBLE_CONNECTION</span> <span class="o">=</span> <span class="s">'ansible_connection'</span>
|
||||
<span class="n">ANSIBLE_BECOME</span> <span class="o">=</span> <span class="s">'ansible_become'</span>
|
||||
|
||||
<span class="n">INVENTORY_PATH</span> <span class="o">=</span> <span class="s1">'ansible/inventory.json'</span>
|
||||
<span class="n">INVENTORY_PATH</span> <span class="o">=</span> <span class="s">'ansible/inventory.json'</span>
|
||||
|
||||
<span class="n">COMPUTE_GRP_NAME</span> <span class="o">=</span> <span class="s1">'compute'</span>
|
||||
<span class="n">CONTROL_GRP_NAME</span> <span class="o">=</span> <span class="s1">'control'</span>
|
||||
<span class="n">NETWORK_GRP_NAME</span> <span class="o">=</span> <span class="s1">'network'</span>
|
||||
<span class="n">STORAGE_GRP_NAME</span> <span class="o">=</span> <span class="s1">'storage'</span>
|
||||
<span class="n">DATABASE_GRP_NAME</span> <span class="o">=</span> <span class="s1">'database'</span>
|
||||
<span class="n">COMPUTE_GRP_NAME</span> <span class="o">=</span> <span class="s">'compute'</span>
|
||||
<span class="n">CONTROL_GRP_NAME</span> <span class="o">=</span> <span class="s">'control'</span>
|
||||
<span class="n">NETWORK_GRP_NAME</span> <span class="o">=</span> <span class="s">'network'</span>
|
||||
<span class="n">STORAGE_GRP_NAME</span> <span class="o">=</span> <span class="s">'storage'</span>
|
||||
<span class="n">DATABASE_GRP_NAME</span> <span class="o">=</span> <span class="s">'database'</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>
|
||||
|
@ -107,57 +107,57 @@
|
|||
<span class="p">]</span>
|
||||
|
||||
<span class="n">SERVICES</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="s1">'ceilometer'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'ceilometer-alarm-evaluator'</span><span class="p">,</span> <span class="s1">'ceilometer-alarm-notifier'</span><span class="p">,</span>
|
||||
<span class="s1">'ceilometer-api'</span><span class="p">,</span> <span class="s1">'ceilometer-central'</span><span class="p">,</span>
|
||||
<span class="s1">'ceilometer-collector'</span><span class="p">,</span> <span class="s1">'ceilometer-notification'</span><span class="p">],</span>
|
||||
<span class="s1">'cinder'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'cinder-api'</span><span class="p">,</span> <span class="s1">'cinder-scheduler'</span><span class="p">,</span> <span class="s1">'cinder-backup'</span><span class="p">,</span>
|
||||
<span class="s1">'cinder-volume'</span><span class="p">],</span>
|
||||
<span class="s1">'glance'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'glance-api'</span><span class="p">,</span> <span class="s1">'glance-registry'</span><span class="p">],</span>
|
||||
<span class="s1">'haproxy'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s1">'heat'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'heat-api'</span><span class="p">,</span> <span class="s1">'heat-api-cfn'</span><span class="p">,</span> <span class="s1">'heat-engine'</span><span class="p">],</span>
|
||||
<span class="s1">'horizon'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s1">'keystone'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s1">'memcached'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s1">'murano'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'murano-api'</span><span class="p">,</span> <span class="s1">'murano-engine'</span><span class="p">],</span>
|
||||
<span class="s1">'mysqlcluster'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'mysqlcluster-api'</span><span class="p">,</span> <span class="s1">'mysqlcluster-mgmt'</span><span class="p">,</span>
|
||||
<span class="s1">'mysqlcluster-ndb'</span><span class="p">],</span>
|
||||
<span class="s1">'neutron'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'neutron-server'</span><span class="p">,</span> <span class="s1">'neutron-agents'</span><span class="p">],</span>
|
||||
<span class="s1">'nova'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'nova-api'</span><span class="p">,</span> <span class="s1">'nova-conductor'</span><span class="p">,</span> <span class="s1">'nova-consoleauth'</span><span class="p">,</span>
|
||||
<span class="s1">'nova-novncproxy'</span><span class="p">,</span> <span class="s1">'nova-scheduler'</span><span class="p">],</span>
|
||||
<span class="s1">'rabbitmq'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s1">'swift'</span><span class="p">:</span> <span class="p">[</span><span class="s1">'swift-proxy-server'</span><span class="p">,</span> <span class="s1">'swift-account-server'</span><span class="p">,</span>
|
||||
<span class="s1">'swift-container-server'</span><span class="p">,</span> <span class="s1">'swift-object-server'</span><span class="p">],</span>
|
||||
<span class="s">'ceilometer'</span><span class="p">:</span> <span class="p">[</span><span class="s">'ceilometer-alarm-evaluator'</span><span class="p">,</span> <span class="s">'ceilometer-alarm-notifier'</span><span class="p">,</span>
|
||||
<span class="s">'ceilometer-api'</span><span class="p">,</span> <span class="s">'ceilometer-central'</span><span class="p">,</span>
|
||||
<span class="s">'ceilometer-collector'</span><span class="p">,</span> <span class="s">'ceilometer-notification'</span><span class="p">],</span>
|
||||
<span class="s">'cinder'</span><span class="p">:</span> <span class="p">[</span><span class="s">'cinder-api'</span><span class="p">,</span> <span class="s">'cinder-scheduler'</span><span class="p">,</span> <span class="s">'cinder-backup'</span><span class="p">,</span>
|
||||
<span class="s">'cinder-volume'</span><span class="p">],</span>
|
||||
<span class="s">'glance'</span><span class="p">:</span> <span class="p">[</span><span class="s">'glance-api'</span><span class="p">,</span> <span class="s">'glance-registry'</span><span class="p">],</span>
|
||||
<span class="s">'haproxy'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s">'heat'</span><span class="p">:</span> <span class="p">[</span><span class="s">'heat-api'</span><span class="p">,</span> <span class="s">'heat-api-cfn'</span><span class="p">,</span> <span class="s">'heat-engine'</span><span class="p">],</span>
|
||||
<span class="s">'horizon'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s">'keystone'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s">'memcached'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s">'murano'</span><span class="p">:</span> <span class="p">[</span><span class="s">'murano-api'</span><span class="p">,</span> <span class="s">'murano-engine'</span><span class="p">],</span>
|
||||
<span class="s">'mysqlcluster'</span><span class="p">:</span> <span class="p">[</span><span class="s">'mysqlcluster-api'</span><span class="p">,</span> <span class="s">'mysqlcluster-mgmt'</span><span class="p">,</span>
|
||||
<span class="s">'mysqlcluster-ndb'</span><span class="p">],</span>
|
||||
<span class="s">'neutron'</span><span class="p">:</span> <span class="p">[</span><span class="s">'neutron-server'</span><span class="p">,</span> <span class="s">'neutron-agents'</span><span class="p">],</span>
|
||||
<span class="s">'nova'</span><span class="p">:</span> <span class="p">[</span><span class="s">'nova-api'</span><span class="p">,</span> <span class="s">'nova-conductor'</span><span class="p">,</span> <span class="s">'nova-consoleauth'</span><span class="p">,</span>
|
||||
<span class="s">'nova-novncproxy'</span><span class="p">,</span> <span class="s">'nova-scheduler'</span><span class="p">],</span>
|
||||
<span class="s">'rabbitmq'</span><span class="p">:</span> <span class="p">[],</span>
|
||||
<span class="s">'swift'</span><span class="p">:</span> <span class="p">[</span><span class="s">'swift-proxy-server'</span><span class="p">,</span> <span class="s">'swift-account-server'</span><span class="p">,</span>
|
||||
<span class="s">'swift-container-server'</span><span class="p">,</span> <span class="s">'swift-object-server'</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="s1">'ceilometer'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'cinder'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'glance'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'haproxy'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'heat'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'horizon'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'keystone'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'memcached'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'murano'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'mysqlcluster'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'neutron'</span><span class="p">:</span> <span class="n">NETWORK_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'nova'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'rabbitmq'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'swift'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'ceilometer'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'cinder'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'glance'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'haproxy'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'heat'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'horizon'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'keystone'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'memcached'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'murano'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'mysqlcluster'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'neutron'</span><span class="p">:</span> <span class="n">NETWORK_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'nova'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'rabbitmq'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'swift'</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="s1">'cinder-backup'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'cinder-volume'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'mysqlcluster-ndb'</span><span class="p">:</span> <span class="n">DATABASE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'neutron-server'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'swift-account-server'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'swift-container-server'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s1">'swift-object-server'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'cinder-backup'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'cinder-volume'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'mysqlcluster-ndb'</span><span class="p">:</span> <span class="n">DATABASE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'neutron-server'</span><span class="p">:</span> <span class="n">CONTROL_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'swift-account-server'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'swift-container-server'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="s">'swift-object-server'</span><span class="p">:</span> <span class="n">STORAGE_GRP_NAME</span><span class="p">,</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
|
||||
<span class="c1"># these groups cannot be deleted, they are required by kolla</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>
|
||||
|
||||
<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>
|
||||
|
@ -178,9 +178,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="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="s1">''</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">alias</span> <span class="o">=</span> <span class="s">''</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="s1">''</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">hypervisor</span> <span class="o">=</span> <span class="s">''</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>
|
||||
|
||||
|
@ -228,14 +228,14 @@
|
|||
<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="s1">'yes'</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">'yes'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">remote_flag</span><span class="p">:</span>
|
||||
<span class="c1"># set the ssh info for all the servers in the group</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="c1"># 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="s1">'local'</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">'local'</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>
|
||||
|
@ -280,7 +280,7 @@
|
|||
<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="c1"># groups and parent services are mutually exclusive</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>
|
||||
|
||||
|
@ -298,7 +298,7 @@
|
|||
<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="c1"># no groups left, re-associate to the parent</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>
|
||||
|
@ -325,50 +325,50 @@
|
|||
<span class="sd"> 1: initial release</span>
|
||||
<span class="sd"> """</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="c1"># kv = name:object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_hosts</span> <span class="o">=</span> <span class="p">{}</span> <span class="c1"># kv = name:object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_services</span> <span class="o">=</span> <span class="p">{}</span> <span class="c1"># kv = name:object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span> <span class="o">=</span> <span class="p">{}</span> <span class="c1"># kv = name:object</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>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_hosts</span> <span class="o">=</span> <span class="p">{}</span> <span class="c"># kv = name:object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_services</span> <span class="o">=</span> <span class="p">{}</span> <span class="c"># kv = name:object</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_sub_services</span> <span class="o">=</span> <span class="p">{}</span> <span class="c"># kv = name:object</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>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">remote_mode</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
|
||||
<span class="c1"># initialize the inventory to its defaults</span>
|
||||
<span class="c"># initialize the inventory to its defaults</span>
|
||||
<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="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o"><=</span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="c1"># upgrade from inventory v1</span>
|
||||
<span class="c"># upgrade from inventory v1</span>
|
||||
|
||||
<span class="c1"># add ceilometer to inventory</span>
|
||||
<span class="n">svc_name</span> <span class="o">=</span> <span class="s1">'ceilometer'</span>
|
||||
<span class="c"># add ceilometer to inventory</span>
|
||||
<span class="n">svc_name</span> <span class="o">=</span> <span class="s">'ceilometer'</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="c1"># 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="s1">'heat'</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">'heat'</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="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="c1"># stitch sub-service to service and set override</span>
|
||||
<span class="c1"># groups</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="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o"><=</span> <span class="mi">2</span><span class="p">:</span>
|
||||
<span class="c1"># upgrade from inventory v2</span>
|
||||
<span class="c"># upgrade from inventory v2</span>
|
||||
|
||||
<span class="c1"># some sub-services may be missing their parent associations.</span>
|
||||
<span class="c1"># they are now needed in v3.</span>
|
||||
<span class="c"># some sub-services may be missing their parent associations.</span>
|
||||
<span class="c"># they are now needed in v3.</span>
|
||||
<span class="k">for</span> <span class="n">svc</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_services</span><span class="p">():</span>
|
||||
<span class="k">for</span> <span class="n">sub_svcname</span> <span class="ow">in</span> <span class="n">svc</span><span class="o">.</span><span class="n">get_sub_servicenames</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">get_sub_service</span><span class="p">(</span><span class="n">sub_svcname</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">sub_svc</span><span class="o">.</span><span class="n">get_parent_servicename</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="c1"># update the version and save upgraded inventory file</span>
|
||||
<span class="c"># update the version and save upgraded inventory file</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>
|
||||
<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>
|
||||
|
@ -376,30 +376,30 @@
|
|||
<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">"""load the inventory from a pickle file"""</span>
|
||||
<span class="n">inventory_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_kollacli_etc</span><span class="p">(),</span> <span class="n">INVENTORY_PATH</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">if</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">inventory_path</span><span class="p">):</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">sync_read_file</span><span class="p">(</span><span class="n">inventory_path</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># The inventory path changed between v1 and v2. Need to change</span>
|
||||
<span class="c1"># path throughout the inventory. This has to be done before</span>
|
||||
<span class="c1"># the pickle decode.</span>
|
||||
<span class="k">if</span> <span class="s1">'kollacli.common.inventory'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
|
||||
<span class="c"># The inventory path changed between v1 and v2. Need to change</span>
|
||||
<span class="c"># path throughout the inventory. This has to be done before</span>
|
||||
<span class="c"># the pickle decode.</span>
|
||||
<span class="k">if</span> <span class="s">'kollacli.common.inventory'</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="s1">'"py/object": "kollacli.ansible.inventory.'</span><span class="p">,</span>
|
||||
<span class="s1">'"py/object": "kollacli.common.inventory.'</span><span class="p">)</span>
|
||||
<span class="s">'"py/object": "kollacli.ansible.inventory.'</span><span class="p">,</span>
|
||||
<span class="s">'"py/object": "kollacli.common.inventory.'</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>
|
||||
|
||||
<span class="c1"># upgrade version handling</span>
|
||||
<span class="c"># upgrade version handling</span>
|
||||
<span class="k">if</span> <span class="n">inventory</span><span class="o">.</span><span class="n">version</span> <span class="o">!=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">class_version</span><span class="p">:</span>
|
||||
<span class="n">inventory</span><span class="o">.</span><span class="n">upgrade</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">Inventory</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">FailedOperation</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Loading inventory failed. : {error}'</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">'Loading inventory failed. : {error}'</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="n">traceback</span><span class="o">.</span><span class="n">format_exc</span><span class="p">()))</span>
|
||||
<span class="k">return</span> <span class="n">inventory</span>
|
||||
</div>
|
||||
|
@ -408,7 +408,7 @@
|
|||
<span class="sd">"""Save the inventory in a pickle file"""</span>
|
||||
<span class="n">inventory_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_kollacli_etc</span><span class="p">(),</span> <span class="n">INVENTORY_PATH</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="c1"># multiple trips thru json to render a readable inventory file</span>
|
||||
<span class="c"># multiple trips thru json to render a readable inventory file</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">jsonpickle</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="n">inventory</span><span class="p">)</span>
|
||||
<span class="n">data_str</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">data</span><span class="p">)</span>
|
||||
<span class="n">pretty_data</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">data_str</span><span class="p">,</span> <span class="n">indent</span><span class="o">=</span><span class="mi">4</span><span class="p">)</span>
|
||||
|
@ -416,16 +416,16 @@
|
|||
|
||||
<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="k">raise</span> <span class="n">FailedOperation</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Saving inventory failed. : {error}'</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">'Saving inventory failed. : {error}'</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="c1"># create the default groups</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="c1"># create the default services/sub_services & their default groups</span>
|
||||
<span class="c"># create the default services/sub_services & 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>
|
||||
|
@ -433,7 +433,7 @@
|
|||
<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="c1"># create a subservice</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>
|
||||
|
@ -459,26 +459,26 @@
|
|||
<span class="sd"> if group name is not none, add host to group</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">groupname</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">_groups</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="s1">'Group'</span><span class="p">),</span> <span class="n">groupname</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">'Group'</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">and</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">_hosts</span><span class="p">:</span>
|
||||
<span class="c1"># if a groupname is specified, the host must already exist</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="s1">'Host'</span><span class="p">),</span> <span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="c"># if a groupname is specified, the host must already exist</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">'Host'</span><span class="p">),</span> <span class="n">hostname</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">groupname</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">remote_mode</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_hosts</span><span class="p">)</span> <span class="o">>=</span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">InvalidConfiguration</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Cannot have more than one host when in local deploy '</span>
|
||||
<span class="s1">'mode.'</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">'Cannot have more than one host when in local deploy '</span>
|
||||
<span class="s">'mode.'</span><span class="p">))</span>
|
||||
|
||||
<span class="n">changed</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="c1"># create new host if it doesn't exist</span>
|
||||
<span class="c"># create new host if it doesn't exist</span>
|
||||
<span class="n">host</span> <span class="o">=</span> <span class="n">Host</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
|
||||
<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">get_hostnames</span><span class="p">():</span>
|
||||
<span class="c1"># a new host is being added to the inventory</span>
|
||||
<span class="c"># a new host is being added to the inventory</span>
|
||||
<span class="n">changed</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_hosts</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="n">host</span>
|
||||
|
||||
<span class="c1"># a host is to be added to an existing group</span>
|
||||
<span class="c"># a host is to be added to an existing group</span>
|
||||
<span class="k">elif</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">_groups</span><span class="p">[</span><span class="n">groupname</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">hostname</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">group</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">():</span>
|
||||
|
@ -500,7 +500,7 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="n">changed</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="k">if</span> <span class="n">groupname</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">_groups</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="s1">'Group'</span><span class="p">),</span> <span class="n">groupname</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">'Group'</span><span class="p">),</span> <span class="n">groupname</span><span class="p">)</span>
|
||||
|
||||
<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">_hosts</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">changed</span>
|
||||
|
@ -535,44 +535,44 @@
|
|||
<span class="k">for</span> <span class="n">hostname</span><span class="p">,</span> <span class="n">host_info</span> <span class="ow">in</span> <span class="n">hosts_info</span><span class="o">.</span><span class="n">items</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">get_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">host</span><span class="p">:</span>
|
||||
<span class="n">failed_hosts</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s2">"Host doesn't exist."</span><span class="p">)</span>
|
||||
<span class="n">failed_hosts</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</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">"Host doesn't exist."</span><span class="p">)</span>
|
||||
<span class="k">continue</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">host_info</span> <span class="ow">or</span> <span class="s1">'password'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">host_info</span><span class="p">:</span>
|
||||
<span class="n">failed_hosts</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'No password in yml file.'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">host_info</span> <span class="ow">or</span> <span class="s">'password'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">host_info</span><span class="p">:</span>
|
||||
<span class="n">failed_hosts</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</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">'No password in yml file.'</span><span class="p">)</span>
|
||||
<span class="k">continue</span>
|
||||
<span class="n">passwd</span> <span class="o">=</span> <span class="n">host_info</span><span class="p">[</span><span class="s1">'password'</span><span class="p">]</span>
|
||||
<span class="n">passwd</span> <span class="o">=</span> <span class="n">host_info</span><span class="p">[</span><span class="s">'password'</span><span class="p">]</span>
|
||||
<span class="n">uname</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="k">if</span> <span class="s1">'uname'</span> <span class="ow">in</span> <span class="n">host_info</span><span class="p">:</span>
|
||||
<span class="n">uname</span> <span class="o">=</span> <span class="n">host_info</span><span class="p">[</span><span class="s1">'uname'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="s">'uname'</span> <span class="ow">in</span> <span class="n">host_info</span><span class="p">:</span>
|
||||
<span class="n">uname</span> <span class="o">=</span> <span class="n">host_info</span><span class="p">[</span><span class="s">'uname'</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">setup_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">passwd</span><span class="p">,</span> <span class="n">uname</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">failed_hosts</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">e</span>
|
||||
<span class="n">failed_hosts</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">e</span>
|
||||
<span class="k">if</span> <span class="n">failed_hosts</span><span class="p">:</span>
|
||||
<span class="n">summary</span> <span class="o">=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="n">summary</span> <span class="o">=</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span>
|
||||
<span class="k">for</span> <span class="n">hostname</span><span class="p">,</span> <span class="n">err</span> <span class="ow">in</span> <span class="n">failed_hosts</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="n">summary</span> <span class="o">=</span> <span class="n">summary</span> <span class="o">+</span> <span class="s1">'- </span><span class="si">%s</span><span class="s1">: </span><span class="si">%s</span><span class="se">\n</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">err</span><span class="p">)</span>
|
||||
<span class="n">summary</span> <span class="o">=</span> <span class="n">summary</span> <span class="o">+</span> <span class="s">'- </span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">err</span><span class="p">)</span>
|
||||
<span class="k">raise</span> <span class="n">HostError</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Not all hosts were set up. : {reasons}'</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">'Not all hosts were set up. : {reasons}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">reasons</span><span class="o">=</span><span class="n">summary</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">info</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_LI</span><span class="p">(</span><span class="s1">'All hosts were successfully set up.'</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">_LI</span><span class="p">(</span><span class="s">'All hosts were successfully set up.'</span><span class="p">))</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.setup_host"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.setup_host">[docs]</a> <span class="k">def</span> <span class="nf">setup_host</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="n">password</span><span class="p">,</span> <span class="n">uname</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
|
||||
<span class="k">try</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">_LI</span><span class="p">(</span><span class="s1">'Starting setup of host ({host}).'</span><span class="p">)</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_LI</span><span class="p">(</span><span class="s">'Starting setup of host ({host}).'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</span><span class="p">))</span>
|
||||
<span class="n">ssh_setup_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">password</span><span class="p">,</span> <span class="n">uname</span><span class="p">)</span>
|
||||
<span class="n">check_ok</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">ssh_check_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">check_ok</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="s1">'Post-setup ssh check failed. {err}'</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">'Post-setup ssh check failed. {err}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">err</span><span class="o">=</span><span class="n">msg</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">_LI</span><span class="p">(</span><span class="s1">'Host ({host}) setup succeeded.'</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">_LI</span><span class="p">(</span><span class="s">'Host ({host}) setup succeeded.'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</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="k">raise</span> <span class="n">HostError</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host ({host}) setup failed : {error}'</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">'Host ({host}) setup failed : {error}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</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>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
</div>
|
||||
|
@ -586,46 +586,45 @@
|
|||
<span class="k">for</span> <span class="n">hostname</span> <span class="ow">in</span> <span class="n">hostnames</span><span class="p">:</span>
|
||||
<span class="n">is_ok</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">ssh_check_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="n">summary</span><span class="p">[</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">summary</span><span class="p">[</span><span class="n">hostname</span><span class="p">][</span><span class="s1">'success'</span><span class="p">]</span> <span class="o">=</span> <span class="n">is_ok</span>
|
||||
<span class="n">summary</span><span class="p">[</span><span class="n">hostname</span><span class="p">][</span><span class="s1">'msg'</span><span class="p">]</span> <span class="o">=</span> <span class="n">msg</span>
|
||||
<span class="n">summary</span><span class="p">[</span><span class="n">hostname</span><span class="p">][</span><span class="s">'success'</span><span class="p">]</span> <span class="o">=</span> <span class="n">is_ok</span>
|
||||
<span class="n">summary</span><span class="p">[</span><span class="n">hostname</span><span class="p">][</span><span class="s">'msg'</span><span class="p">]</span> <span class="o">=</span> <span class="n">msg</span>
|
||||
<span class="k">return</span> <span class="n">summary</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.ssh_check_host"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.ssh_check_host">[docs]</a> <span class="k">def</span> <span class="nf">ssh_check_host</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="n">err_msg</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="n">command_string</span> <span class="o">=</span> <span class="s1">'/usr/bin/sudo -u </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1"> -vvv '</span> <span class="o">%</span> \
|
||||
<span class="p">(</span><span class="n">get_admin_user</span><span class="p">(),</span> <span class="n">get_ansible_command</span><span class="p">())</span>
|
||||
<span class="n">gen_file_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_json_gen_file</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="bp">self</span><span class="o">.</span><span class="n">run_ansible_command</span><span class="p">(</span><span class="s">'-m ping'</span><span class="p">,</span> <span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="n">is_ok</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">inventory_string</span> <span class="o">=</span> <span class="s1">'-i '</span> <span class="o">+</span> <span class="n">gen_file_path</span>
|
||||
<span class="n">ping_string</span> <span class="o">=</span> <span class="s1">' </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="s1">'-m ping'</span><span class="p">)</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="p">(</span><span class="n">command_string</span> <span class="o">+</span> <span class="n">inventory_string</span> <span class="o">+</span> <span class="n">ping_string</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="bp">False</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">is_ok</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host: ({host}) setup exception. : {error}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</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>
|
||||
<span class="k">finally</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">remove_json_gen_file</span><span class="p">(</span><span class="n">gen_file_path</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">err_msg</span><span class="p">:</span>
|
||||
<span class="n">is_ok</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host ({host}) ssh check failed. : {error} {message}'</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">'Host ({host}) ssh check failed. : {error} {message}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</span><span class="p">,</span> <span class="n">error</span><span class="o">=</span><span class="n">err_msg</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="n">output</span><span class="p">))</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_LI</span><span class="p">(</span><span class="s1">'Host ({host}) ssh check succeeded.'</span><span class="p">)</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_LI</span><span class="p">(</span><span class="s">'Host ({host}) ssh check succeeded.'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="n">hostname</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">is_ok</span><span class="p">,</span> <span class="n">msg</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.run_ansible_command"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.run_ansible_command">[docs]</a> <span class="k">def</span> <span class="nf">run_ansible_command</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ansible_command</span><span class="p">,</span> <span class="n">hostname</span><span class="p">):</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="n">command_string</span> <span class="o">=</span> <span class="s">'/usr/bin/sudo -u </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> -vvv'</span> <span class="o">%</span> \
|
||||
<span class="p">(</span><span class="n">get_admin_user</span><span class="p">(),</span> <span class="n">get_ansible_command</span><span class="p">())</span>
|
||||
<span class="n">gen_file_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">create_json_gen_file</span><span class="p">()</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> -i </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">command_string</span><span class="p">,</span> <span class="n">hostname</span><span class="p">,</span> <span class="n">gen_file_path</span><span class="p">,</span>
|
||||
<span class="n">ansible_command</span><span class="p">)</span>
|
||||
<span class="k">try</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="bp">False</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">err_msg</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="bp">self</span><span class="o">.</span><span class="n">remove_json_gen_file</span><span class="p">(</span><span class="n">gen_file_path</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">err_msg</span><span class="p">,</span> <span class="n">output</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.add_group"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.add_group">[docs]</a> <span class="k">def</span> <span class="nf">add_group</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="c1"># Group names cannot overlap with service names:</span>
|
||||
<span class="c"># Group names cannot overlap with service names:</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">_services</span> <span class="ow">or</span> <span class="n">groupname</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="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="s1">'Invalid group name. A service name '</span>
|
||||
<span class="s1">'cannot be used for a group name.'</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">'Invalid group name. A service name '</span>
|
||||
<span class="s">'cannot be used for a group name.'</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">_groups</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_groups</span><span class="p">[</span><span class="n">groupname</span><span class="p">]</span> <span class="o">=</span> <span class="n">HostGroup</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
|
@ -639,10 +638,10 @@
|
|||
<div class="viewcode-block" id="Inventory.remove_group"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.remove_group">[docs]</a> <span class="k">def</span> <span class="nf">remove_group</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="n">PROTECTED_GROUPS</span><span class="p">:</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="s1">'Cannot remove {group} group. It is required by kolla.'</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">'Cannot remove {group} group. It is required by kolla.'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">group</span><span class="o">=</span><span class="n">groupname</span><span class="p">))</span>
|
||||
|
||||
<span class="c1"># remove group from services & subservices</span>
|
||||
<span class="c"># remove group from services & subservices</span>
|
||||
<span class="k">for</span> <span class="n">service</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">_services</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
|
||||
<span class="n">service</span><span class="o">.</span><span class="n">remove_groupname</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
|
||||
|
@ -650,7 +649,7 @@
|
|||
<span class="n">subservice</span><span class="o">.</span><span class="n">remove_groupname</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
|
||||
<span class="n">group_vars</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_group_vars_dir</span><span class="p">(),</span> <span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="k">if</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">group_vars</span><span class="p">)</span> <span class="ow">and</span> <span class="n">groupname</span> <span class="o">!=</span> <span class="s1">'__GLOBAL__'</span><span class="p">:</span>
|
||||
<span class="k">if</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">group_vars</span><span class="p">)</span> <span class="ow">and</span> <span class="n">groupname</span> <span class="o">!=</span> <span class="s">'__GLOBAL__'</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="n">group_vars</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">_groups</span><span class="p">:</span>
|
||||
|
@ -740,7 +739,7 @@
|
|||
</div>
|
||||
<div class="viewcode-block" id="Inventory.add_group_to_service"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.add_group_to_service">[docs]</a> <span class="k">def</span> <span class="nf">add_group_to_service</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="n">servicename</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">_groups</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="s1">'Group'</span><span class="p">),</span> <span class="n">groupname</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">'Group'</span><span class="p">),</span> <span class="n">groupname</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">get_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="n">add_groupname</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
|
@ -748,11 +747,11 @@
|
|||
<span class="n">sub_service</span> <span class="o">=</span> <span class="bp">self</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">sub_service</span><span class="o">.</span><span class="n">add_groupname</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="k">else</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="s1">'Service'</span><span class="p">),</span> <span class="n">servicename</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">'Service'</span><span class="p">),</span> <span class="n">servicename</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.remove_group_from_service"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.remove_group_from_service">[docs]</a> <span class="k">def</span> <span class="nf">remove_group_from_service</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="n">servicename</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">_groups</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="s1">'Group'</span><span class="p">),</span> <span class="n">groupname</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">'Group'</span><span class="p">),</span> <span class="n">groupname</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">get_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="n">remove_groupname</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
|
@ -760,7 +759,7 @@
|
|||
<span class="n">sub_service</span> <span class="o">=</span> <span class="bp">self</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">sub_service</span><span class="o">.</span><span class="n">remove_groupname</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="k">else</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="s1">'Service'</span><span class="p">),</span> <span class="n">servicename</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">'Service'</span><span class="p">),</span> <span class="n">servicename</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.create_sub_service"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.create_sub_service">[docs]</a> <span class="k">def</span> <span class="nf">create_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">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>
|
||||
|
@ -795,7 +794,7 @@
|
|||
<div class="viewcode-block" id="Inventory.set_deploy_mode"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.set_deploy_mode">[docs]</a> <span class="k">def</span> <span class="nf">set_deploy_mode</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="k">if</span> <span class="ow">not</span> <span class="n">remote_flag</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_hosts</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">InvalidConfiguration</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Cannot set local deploy mode when multiple hosts exist.'</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">'Cannot set local deploy mode when multiple hosts exist.'</span><span class="p">))</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">remote_mode</span> <span class="o">=</span> <span class="n">remote_flag</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">group</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_groups</span><span class="p">():</span>
|
||||
|
@ -837,58 +836,58 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="n">jdict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="c1"># if no filter provided, use all groups, all hosts</span>
|
||||
<span class="c"># if no filter provided, use all groups, all hosts</span>
|
||||
<span class="n">deploy_hostnames</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">()</span>
|
||||
<span class="n">deploy_groupnames</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">inventory_filter</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="s1">'deploy_hosts'</span> <span class="ow">in</span> <span class="n">inventory_filter</span><span class="p">:</span>
|
||||
<span class="n">deploy_hostnames</span> <span class="o">=</span> <span class="n">inventory_filter</span><span class="p">[</span><span class="s1">'deploy_hosts'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="s1">'deploy_groups'</span> <span class="ow">in</span> <span class="n">inventory_filter</span><span class="p">:</span>
|
||||
<span class="n">deploy_groupnames</span> <span class="o">=</span> <span class="n">inventory_filter</span><span class="p">[</span><span class="s1">'deploy_groups'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="s">'deploy_hosts'</span> <span class="ow">in</span> <span class="n">inventory_filter</span><span class="p">:</span>
|
||||
<span class="n">deploy_hostnames</span> <span class="o">=</span> <span class="n">inventory_filter</span><span class="p">[</span><span class="s">'deploy_hosts'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="s">'deploy_groups'</span> <span class="ow">in</span> <span class="n">inventory_filter</span><span class="p">:</span>
|
||||
<span class="n">deploy_groupnames</span> <span class="o">=</span> <span class="n">inventory_filter</span><span class="p">[</span><span class="s">'deploy_groups'</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># add hostgroups</span>
|
||||
<span class="c"># add hostgroups</span>
|
||||
<span class="k">for</span> <span class="n">group</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_groups</span><span class="p">():</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'hosts'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'hosts'</span><span class="p">]</span> <span class="o">=</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="n">deploy_groupnames</span><span class="p">:</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'hosts'</span><span class="p">]</span> <span class="o">=</span> \
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'hosts'</span><span class="p">]</span> <span class="o">=</span> \
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_filter_hosts</span><span class="p">(</span><span class="n">group</span><span class="o">.</span><span class="n">get_hostnames</span><span class="p">(),</span> <span class="n">deploy_hostnames</span><span class="p">)</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'children'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'vars'</span><span class="p">]</span> <span class="o">=</span> <span class="n">group</span><span class="o">.</span><span class="n">get_vars</span><span class="p">()</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'children'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'vars'</span><span class="p">]</span> <span class="o">=</span> <span class="n">group</span><span class="o">.</span><span class="n">get_vars</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># add top-level services and what groups they are in</span>
|
||||
<span class="c"># add top-level services and what groups they are in</span>
|
||||
<span class="k">for</span> <span class="n">service</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_services</span><span class="p">():</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">service</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">service</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'children'</span><span class="p">]</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">service</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'children'</span><span class="p">]</span> <span class="o">=</span> <span class="n">service</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># add sub-services and their groups</span>
|
||||
<span class="c"># add sub-services and their groups</span>
|
||||
<span class="k">for</span> <span class="n">sub_svc</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_sub_services</span><span class="p">():</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">sub_svc</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">groupnames</span> <span class="o">=</span> <span class="n">sub_svc</span><span class="o">.</span><span class="n">get_groupnames</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">groupnames</span><span class="p">:</span>
|
||||
<span class="c1"># sub-service is associated with a group(s)</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">sub_svc</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'children'</span><span class="p">]</span> <span class="o">=</span> <span class="n">groupnames</span>
|
||||
<span class="c"># sub-service is associated with a group(s)</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">sub_svc</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'children'</span><span class="p">]</span> <span class="o">=</span> <span class="n">groupnames</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># sub-service is associated with parent service</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">sub_svc</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'children'</span><span class="p">]</span> <span class="o">=</span> \
|
||||
<span class="c"># sub-service is associated with parent service</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">sub_svc</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'children'</span><span class="p">]</span> <span class="o">=</span> \
|
||||
<span class="p">[</span><span class="n">sub_svc</span><span class="o">.</span><span class="n">get_parent_servicename</span><span class="p">()]</span>
|
||||
|
||||
<span class="c1"># temporarily create group containing all hosts. this is needed for</span>
|
||||
<span class="c1"># ansible commands that are performed on hosts not yet in groups.</span>
|
||||
<span class="n">group</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">add_group</span><span class="p">(</span><span class="s1">'__GLOBAL__'</span><span class="p">)</span>
|
||||
<span class="c"># temporarily create group containing all hosts. this is needed for</span>
|
||||
<span class="c"># ansible commands that are performed on hosts not yet in groups.</span>
|
||||
<span class="n">group</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">add_group</span><span class="p">(</span><span class="s">'__GLOBAL__'</span><span class="p">)</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'hosts'</span><span class="p">]</span> <span class="o">=</span> <span class="n">deploy_hostnames</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s1">'vars'</span><span class="p">]</span> <span class="o">=</span> <span class="n">group</span><span class="o">.</span><span class="n">get_vars</span><span class="p">()</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'hosts'</span><span class="p">]</span> <span class="o">=</span> <span class="n">deploy_hostnames</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">][</span><span class="s">'vars'</span><span class="p">]</span> <span class="o">=</span> <span class="n">group</span><span class="o">.</span><span class="n">get_vars</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">remove_group</span><span class="p">(</span><span class="n">group</span><span class="o">.</span><span class="n">name</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># process hosts vars</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="s1">'_meta'</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="s1">'_meta'</span><span class="p">][</span><span class="s1">'hostvars'</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="c"># process hosts vars</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="s">'_meta'</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="s">'_meta'</span><span class="p">][</span><span class="s">'hostvars'</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="k">for</span> <span class="n">hostname</span> <span class="ow">in</span> <span class="n">deploy_hostnames</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">get_host</span><span class="p">(</span><span class="n">hostname</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">host</span><span class="p">:</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="s1">'_meta'</span><span class="p">][</span><span class="s1">'hostvars'</span><span class="p">][</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="n">host</span><span class="o">.</span><span class="n">get_vars</span><span class="p">()</span>
|
||||
<span class="n">jdict</span><span class="p">[</span><span class="s">'_meta'</span><span class="p">][</span><span class="s">'hostvars'</span><span class="p">][</span><span class="n">hostname</span><span class="p">]</span> <span class="o">=</span> <span class="n">host</span><span class="o">.</span><span class="n">get_vars</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">json</span><span class="o">.</span><span class="n">dumps</span><span class="p">(</span><span class="n">jdict</span><span class="p">)</span>
|
||||
</div>
|
||||
<span class="k">def</span> <span class="nf">_filter_hosts</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">initial_hostnames</span><span class="p">,</span> <span class="n">deploy_hostnames</span><span class="p">):</span>
|
||||
|
@ -914,19 +913,19 @@
|
|||
<span class="n">json_out</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_ansible_json</span><span class="p">(</span><span class="n">inventory_filter</span><span class="p">)</span>
|
||||
|
||||
<span class="n">deploy_id</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">uuid</span><span class="o">.</span><span class="n">uuid4</span><span class="p">())</span>
|
||||
<span class="n">dirname</span> <span class="o">=</span> <span class="s1">'kolla_</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">deploy_id</span>
|
||||
<span class="n">dirname</span> <span class="o">=</span> <span class="s">'kolla_</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="n">deploy_id</span>
|
||||
<span class="n">dirpath</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="n">dirname</span><span class="p">)</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">dirpath</span><span class="p">)</span>
|
||||
<span class="n">json_gen_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">dirpath</span><span class="p">,</span> <span class="s1">'temp_inventory.py'</span><span class="p">)</span>
|
||||
<span class="n">json_gen_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">dirpath</span><span class="p">,</span> <span class="s">'temp_inventory.py'</span><span class="p">)</span>
|
||||
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">json_gen_path</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span> <span class="k">as</span> <span class="n">json_gen_file</span><span class="p">:</span>
|
||||
<span class="n">json_gen_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'#!/usr/bin/env python</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="c1"># the quotes here are significant. The json_out has double quotes</span>
|
||||
<span class="c1"># embedded in it so single quotes are needed to wrap it.</span>
|
||||
<span class="n">json_gen_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"print('</span><span class="si">%s</span><span class="s2">')"</span> <span class="o">%</span> <span class="n">json_out</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">json_gen_path</span><span class="p">,</span> <span class="s">'w'</span><span class="p">)</span> <span class="k">as</span> <span class="n">json_gen_file</span><span class="p">:</span>
|
||||
<span class="n">json_gen_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'#!/usr/bin/env python</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span>
|
||||
<span class="c"># the quotes here are significant. The json_out has double quotes</span>
|
||||
<span class="c"># embedded in it so single quotes are needed to wrap it.</span>
|
||||
<span class="n">json_gen_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"print('</span><span class="si">%s</span><span class="s">')"</span> <span class="o">%</span> <span class="n">json_out</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># set executable by group</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">chmod</span><span class="p">(</span><span class="n">json_gen_path</span><span class="p">,</span> <span class="mi">0</span><span class="n">o555</span><span class="p">)</span> <span class="c1"># nosec</span>
|
||||
<span class="c"># set executable by group</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">chmod</span><span class="p">(</span><span class="n">json_gen_path</span><span class="p">,</span> <span class="mi">0</span><span class="n">o555</span><span class="p">)</span> <span class="c"># nosec</span>
|
||||
<span class="k">return</span> <span class="n">json_gen_path</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.remove_json_gen_file"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.remove_json_gen_file">[docs]</a> <span class="k">def</span> <span class="nf">remove_json_gen_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">path</span><span class="p">):</span>
|
||||
|
@ -934,34 +933,34 @@
|
|||
</div>
|
||||
<div class="viewcode-block" id="Inventory.validate_hostnames"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.validate_hostnames">[docs]</a> <span class="k">def</span> <span class="nf">validate_hostnames</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">hostnames</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">hostnames</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">MissingArgument</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Host name(s)'</span><span class="p">))</span>
|
||||
<span class="k">raise</span> <span class="n">MissingArgument</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">'Host name(s)'</span><span class="p">))</span>
|
||||
<span class="n">invalid_hosts</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">hostname</span> <span class="ow">in</span> <span class="n">hostnames</span><span class="p">:</span>
|
||||
<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">_hosts</span><span class="p">:</span>
|
||||
<span class="n">invalid_hosts</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="k">if</span> <span class="n">invalid_hosts</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="s1">'Host'</span><span class="p">),</span> <span class="n">invalid_hosts</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">'Host'</span><span class="p">),</span> <span class="n">invalid_hosts</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.validate_groupnames"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.validate_groupnames">[docs]</a> <span class="k">def</span> <span class="nf">validate_groupnames</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="k">if</span> <span class="ow">not</span> <span class="n">groupnames</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">MissingArgument</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Group name(s)'</span><span class="p">))</span>
|
||||
<span class="k">raise</span> <span class="n">MissingArgument</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">'Group name(s)'</span><span class="p">))</span>
|
||||
<span class="n">invalid_groups</span> <span class="o">=</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="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">_groups</span><span class="p">:</span>
|
||||
<span class="n">invalid_groups</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">groupname</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">invalid_groups</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="s1">'Group'</span><span class="p">),</span> <span class="n">invalid_groups</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">'Group'</span><span class="p">),</span> <span class="n">invalid_groups</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Inventory.validate_servicenames"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.inventory.Inventory.validate_servicenames">[docs]</a> <span class="k">def</span> <span class="nf">validate_servicenames</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="k">if</span> <span class="ow">not</span> <span class="n">servicenames</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="n">MissingArgument</span><span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Service name(s)'</span><span class="p">))</span>
|
||||
<span class="k">raise</span> <span class="n">MissingArgument</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">'Service name(s)'</span><span class="p">))</span>
|
||||
<span class="n">invalid_services</span> <span class="o">=</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="k">if</span> <span class="p">(</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="ow">and</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">_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="s1">'Service'</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">'Service'</span><span class="p">),</span> <span class="n">invalid_services</span><span class="p">)</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
@ -995,7 +994,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.passwords — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.passwords — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.passwords</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">os</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
@ -67,8 +67,8 @@
|
|||
<span class="kn">from</span> <span class="nn">kollacli.api.exceptions</span> <span class="kn">import</span> <span class="n">FailedOperation</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common</span> <span class="kn">import</span> <span class="n">utils</span>
|
||||
|
||||
<span class="n">PWDS_FILENAME</span> <span class="o">=</span> <span class="s1">'passwords.yml'</span>
|
||||
<span class="n">PWD_EDITOR_FILENAME</span> <span class="o">=</span> <span class="s1">'passwd_editor.py'</span>
|
||||
<span class="n">PWDS_FILENAME</span> <span class="o">=</span> <span class="s">'passwords.yml'</span>
|
||||
<span class="n">PWD_EDITOR_FILENAME</span> <span class="o">=</span> <span class="s">'passwd_editor.py'</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="set_password"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.passwords.set_password">[docs]</a><span class="k">def</span> <span class="nf">set_password</span><span class="p">(</span><span class="n">pwd_key</span><span class="p">,</span> <span class="n">pwd_value</span><span class="p">):</span>
|
||||
|
@ -77,11 +77,11 @@
|
|||
<span class="sd"> If the password name exists, it will be changed.</span>
|
||||
<span class="sd"> If it doesn't exist, a new password will be added.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1"> -k </span><span class="si">%s</span><span class="s1"> -v </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">_get_cmd_prefix</span><span class="p">(),</span> <span class="n">pwd_key</span><span class="p">,</span> <span class="n">pwd_value</span><span class="p">)</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s"> -k </span><span class="si">%s</span><span class="s"> -v </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">_get_cmd_prefix</span><span class="p">(),</span> <span class="n">pwd_key</span><span class="p">,</span> <span class="n">pwd_value</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">utils</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="k">raise</span> <span class="n">FailedOperation</span><span class="p">(</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Password set failed. {error} {message}'</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">'Password set failed. {error} {message}'</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="n">err_msg</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="n">output</span><span class="p">))</span>
|
||||
|
||||
</div>
|
||||
|
@ -90,33 +90,33 @@
|
|||
|
||||
<span class="sd"> if the password exists, it will be removed from the passwords file</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1"> -k </span><span class="si">%s</span><span class="s1"> -c'</span> <span class="o">%</span> <span class="p">(</span><span class="n">_get_cmd_prefix</span><span class="p">(),</span> <span class="n">pwd_key</span><span class="p">)</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s"> -k </span><span class="si">%s</span><span class="s"> -c'</span> <span class="o">%</span> <span class="p">(</span><span class="n">_get_cmd_prefix</span><span class="p">(),</span> <span class="n">pwd_key</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">utils</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="k">raise</span> <span class="n">FailedOperation</span><span class="p">(</span><span class="s1">'</span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">'</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">raise</span> <span class="n">FailedOperation</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">'</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>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_password_names"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.passwords.get_password_names">[docs]</a><span class="k">def</span> <span class="nf">get_password_names</span><span class="p">():</span>
|
||||
<span class="sd">"""return a list of password names"""</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1"> -l'</span> <span class="o">%</span> <span class="p">(</span><span class="n">_get_cmd_prefix</span><span class="p">())</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s"> -l'</span> <span class="o">%</span> <span class="p">(</span><span class="n">_get_cmd_prefix</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">utils</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="k">raise</span> <span class="n">FailedOperation</span><span class="p">(</span><span class="s1">'</span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">'</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">raise</span> <span class="n">FailedOperation</span><span class="p">(</span><span class="s">'</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">'</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="n">pwd_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">if</span> <span class="n">output</span> <span class="ow">and</span> <span class="s1">','</span> <span class="ow">in</span> <span class="n">output</span><span class="p">:</span>
|
||||
<span class="n">pwd_names</span> <span class="o">=</span> <span class="n">output</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">','</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">output</span> <span class="ow">and</span> <span class="s">','</span> <span class="ow">in</span> <span class="n">output</span><span class="p">:</span>
|
||||
<span class="n">pwd_names</span> <span class="o">=</span> <span class="n">output</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">','</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">pwd_names</span>
|
||||
|
||||
</div>
|
||||
<span class="k">def</span> <span class="nf">_get_cmd_prefix</span><span class="p">():</span>
|
||||
<span class="n">editor_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">utils</span><span class="o">.</span><span class="n">get_kollacli_home</span><span class="p">(),</span>
|
||||
<span class="s1">'tools'</span><span class="p">,</span>
|
||||
<span class="s">'tools'</span><span class="p">,</span>
|
||||
<span class="n">PWD_EDITOR_FILENAME</span><span class="p">)</span>
|
||||
<span class="n">pwd_file_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">utils</span><span class="o">.</span><span class="n">get_kolla_etc</span><span class="p">(),</span>
|
||||
<span class="n">PWDS_FILENAME</span><span class="p">)</span>
|
||||
<span class="n">user</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">get_admin_user</span><span class="p">()</span>
|
||||
<span class="n">prefix</span> <span class="o">=</span> <span class="s1">'/usr/bin/sudo -u </span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1"> -p </span><span class="si">%s</span><span class="s1"> '</span> <span class="o">%</span> <span class="p">(</span><span class="n">user</span><span class="p">,</span>
|
||||
<span class="n">prefix</span> <span class="o">=</span> <span class="s">'/usr/bin/sudo -u </span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s"> -p </span><span class="si">%s</span><span class="s"> '</span> <span class="o">%</span> <span class="p">(</span><span class="n">user</span><span class="p">,</span>
|
||||
<span class="n">editor_path</span><span class="p">,</span> <span class="n">pwd_file_path</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">prefix</span>
|
||||
</pre></div>
|
||||
|
@ -152,7 +152,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.properties — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.properties — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.properties</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">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">six</span>
|
||||
|
@ -77,10 +77,10 @@
|
|||
|
||||
<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">ALLVARS_PATH</span> <span class="o">=</span> <span class="s1">'ansible/group_vars/all.yml'</span>
|
||||
<span class="n">GLOBALS_PATH</span> <span class="o">=</span> <span class="s1">'ansible/group_vars/__GLOBAL__'</span>
|
||||
<span class="n">ANSIBLE_ROLES_PATH</span> <span class="o">=</span> <span class="s1">'ansible/roles'</span>
|
||||
<span class="n">ANSIBLE_DEFAULTS_PATH</span> <span class="o">=</span> <span class="s1">'defaults/main.yml'</span>
|
||||
<span class="n">ALLVARS_PATH</span> <span class="o">=</span> <span class="s">'ansible/group_vars/all.yml'</span>
|
||||
<span class="n">GLOBALS_PATH</span> <span class="o">=</span> <span class="s">'ansible/group_vars/__GLOBAL__'</span>
|
||||
<span class="n">ANSIBLE_ROLES_PATH</span> <span class="o">=</span> <span class="s">'ansible/roles'</span>
|
||||
<span class="n">ANSIBLE_DEFAULTS_PATH</span> <span class="o">=</span> <span class="s">'defaults/main.yml'</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="AnsibleProperties"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties">[docs]</a><span class="k">class</span> <span class="nc">AnsibleProperties</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
|
@ -97,7 +97,7 @@
|
|||
<span class="sd"> KOLLA_HOME/ansible/host_vars/*</span>
|
||||
<span class="sd"> KOLLA_ETC/passwords.yml</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">globals_path</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">globals_path</span> <span class="o">=</span> <span class="s">''</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">global_props</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">unique_global_props</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">unique_override_flags</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
@ -119,7 +119,7 @@
|
|||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">file_name</span><span class="p">):</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_name</span><span class="p">)</span> <span class="k">as</span> <span class="n">service_file</span><span class="p">:</span>
|
||||
<span class="n">service_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">service_file</span><span class="p">)</span>
|
||||
<span class="n">prop_file_name</span> <span class="o">=</span> <span class="n">service_name</span> <span class="o">+</span> <span class="s1">':main.yml'</span>
|
||||
<span class="n">prop_file_name</span> <span class="o">=</span> <span class="n">service_name</span> <span class="o">+</span> <span class="s">':main.yml'</span>
|
||||
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">service_contents</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="n">ansible_prop</span> <span class="o">=</span> <span class="n">AnsibleProperty</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span>
|
||||
<span class="n">prop_file_name</span><span class="p">)</span>
|
||||
|
@ -137,7 +137,7 @@
|
|||
<span class="n">overrides</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="n">orig_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">unique_global_props</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="n">ansible_prop</span> <span class="o">=</span> <span class="n">AnsibleProperty</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span>
|
||||
<span class="s1">'group_vars/all.yml'</span><span class="p">,</span>
|
||||
<span class="s">'group_vars/all.yml'</span><span class="p">,</span>
|
||||
<span class="n">overrides</span><span class="p">,</span> <span class="n">orig_value</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">global_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">unique_global_props</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">ansible_prop</span>
|
||||
|
@ -157,7 +157,7 @@
|
|||
<span class="n">override_flags</span><span class="o">.</span><span class="n">ovr_global</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="n">orig_value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">unique_global_props</span><span class="p">[</span><span class="n">key</span><span class="p">]</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="n">ansible_prop</span> <span class="o">=</span> <span class="n">AnsibleProperty</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span>
|
||||
<span class="s1">'group_vars/__GLOBAL'</span><span class="p">,</span>
|
||||
<span class="s">'group_vars/__GLOBAL'</span><span class="p">,</span>
|
||||
<span class="n">overrides</span><span class="p">,</span> <span class="n">orig_value</span><span class="p">)</span>
|
||||
<span class="n">ansible_prop</span><span class="o">.</span><span class="n">override_flags</span> <span class="o">=</span> <span class="n">override_flags</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">global_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>
|
||||
|
@ -187,18 +187,18 @@
|
|||
<span class="n">ansible_prop</span> <span class="o">=</span> <span class="n">AnsibleProperty</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span>
|
||||
<span class="n">hostfile</span><span class="p">,</span>
|
||||
<span class="n">overrides</span><span class="p">,</span> <span class="n">orig_value</span><span class="p">,</span>
|
||||
<span class="s1">'host'</span><span class="p">,</span> <span class="n">hostfile</span><span class="p">)</span>
|
||||
<span class="s">'host'</span><span class="p">,</span> <span class="n">hostfile</span><span class="p">)</span>
|
||||
<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">host_props</span><span class="p">[</span><span class="n">hostfile</span><span class="p">]</span> <span class="o">=</span> <span class="n">props</span>
|
||||
|
||||
<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="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="s1">'all.yml'</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">'all.yml'</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="c1"># don'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="s1">'__GLOBAL__'</span><span class="p">:</span>
|
||||
<span class="c"># don'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">'__GLOBAL__'</span><span class="p">:</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>
|
||||
|
@ -219,7 +219,7 @@
|
|||
<span class="n">ansible_prop</span> <span class="o">=</span> <span class="n">AnsibleProperty</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span>
|
||||
<span class="n">groupfile</span><span class="p">,</span>
|
||||
<span class="n">overrides</span><span class="p">,</span> <span class="n">orig_value</span><span class="p">,</span>
|
||||
<span class="s1">'group'</span><span class="p">,</span> <span class="n">groupfile</span><span class="p">)</span>
|
||||
<span class="s">'group'</span><span class="p">,</span> <span class="n">groupfile</span><span class="p">)</span>
|
||||
<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>
|
||||
|
||||
|
@ -233,7 +233,7 @@
|
|||
<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="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="s1">'Host'</span><span class="p">),</span> <span class="n">host_name</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">'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_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>
|
||||
|
@ -250,7 +250,7 @@
|
|||
<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="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="s1">'Group'</span><span class="p">),</span> <span class="n">group_name</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">'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_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>
|
||||
|
@ -276,17 +276,17 @@
|
|||
<div class="viewcode-block" id="AnsibleProperties.get_all_override_flags"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.get_all_override_flags">[docs]</a> <span class="k">def</span> <span class="nf">get_all_override_flags</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">unique_override_flags</span>
|
||||
|
||||
<span class="c1"># TODO(bmace) -- if this isn't used for 2.1.x it should be removed</span>
|
||||
<span class="c1"># property listing is still being tweaked so leaving for</span>
|
||||
<span class="c1"># the time being in case we want to use it</span></div>
|
||||
<span class="c"># TODO(bmace) -- if this isn't used for 2.1.x it should be removed</span>
|
||||
<span class="c"># property listing is still being tweaked so leaving for</span>
|
||||
<span class="c"># the time being in case we want to use it</span></div>
|
||||
<div class="viewcode-block" id="AnsibleProperties.filter_jinja2"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperties.filter_jinja2">[docs]</a> <span class="k">def</span> <span class="nf">filter_jinja2</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">contents</span><span class="p">):</span>
|
||||
<span class="n">new_contents</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">contents</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</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="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s1">'removing non-string: </span><span class="si">%s</span><span class="s1">'</span><span class="p">,</span> <span class="n">value</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">'removing non-string: </span><span class="si">%s</span><span class="s">'</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">continue</span>
|
||||
<span class="k">if</span> <span class="n">value</span> <span class="ow">and</span> <span class="s1">'{{'</span> <span class="ow">in</span> <span class="n">value</span> <span class="ow">and</span> <span class="s1">'}}'</span> <span class="ow">in</span> <span class="n">value</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="s1">'removing jinja2 value: </span><span class="si">%s</span><span class="s1">'</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">value</span> <span class="ow">and</span> <span class="s">'{{'</span> <span class="ow">in</span> <span class="n">value</span> <span class="ow">and</span> <span class="s">'}}'</span> <span class="ow">in</span> <span class="n">value</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">'removing jinja2 value: </span><span class="si">%s</span><span class="s">'</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">continue</span>
|
||||
<span class="n">new_contents</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
|
||||
<span class="k">return</span> <span class="n">new_contents</span>
|
||||
|
@ -299,7 +299,7 @@
|
|||
<span class="k">raise</span> <span class="n">e</span>
|
||||
</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_key</span><span class="p">,</span> <span class="n">property_value</span><span class="p">,</span> <span class="n">hosts</span><span class="p">):</span>
|
||||
<span class="c1"># if hosts is None set the property on all hosts</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="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>
|
||||
|
@ -308,7 +308,7 @@
|
|||
<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="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="s1">'Host'</span><span class="p">),</span> <span class="n">host_name</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">'Host'</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>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">host</span> <span class="ow">in</span> <span class="n">host_list</span><span class="p">:</span>
|
||||
|
@ -319,7 +319,7 @@
|
|||
<span class="k">raise</span> <span class="n">e</span>
|
||||
</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_key</span><span class="p">,</span> <span class="n">property_value</span><span class="p">,</span> <span class="n">groups</span><span class="p">):</span>
|
||||
<span class="c1"># if groups is None set the property on all hosts</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="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>
|
||||
|
@ -328,7 +328,7 @@
|
|||
<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="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="s1">'Group'</span><span class="p">),</span> <span class="n">group_name</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">'Group'</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>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">group_list</span><span class="p">:</span>
|
||||
|
@ -346,7 +346,7 @@
|
|||
<span class="k">raise</span> <span class="n">e</span>
|
||||
</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_key</span><span class="p">,</span> <span class="n">hosts</span><span class="p">):</span>
|
||||
<span class="c1"># if hosts is None set the property on all hosts</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="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>
|
||||
|
@ -355,7 +355,7 @@
|
|||
<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="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="s1">'Host'</span><span class="p">),</span> <span class="n">host_name</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">'Host'</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>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">host</span> <span class="ow">in</span> <span class="n">host_list</span><span class="p">:</span>
|
||||
|
@ -366,7 +366,7 @@
|
|||
<span class="k">raise</span> <span class="n">e</span>
|
||||
</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_key</span><span class="p">,</span> <span class="n">groups</span><span class="p">):</span>
|
||||
<span class="c1"># if hosts is None set the property on all hosts</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="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>
|
||||
|
@ -375,7 +375,7 @@
|
|||
<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="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="s1">'Group'</span><span class="p">),</span> <span class="n">group_name</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">'Group'</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>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">group</span> <span class="ow">in</span> <span class="n">group_list</span><span class="p">:</span>
|
||||
|
@ -389,7 +389,7 @@
|
|||
<div class="viewcode-block" id="AnsibleProperty"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.properties.AnsibleProperty">[docs]</a><span class="k">class</span> <span class="nc">AnsibleProperty</span><span class="p">(</span><span class="nb">object</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="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">file_name</span><span class="p">,</span> <span class="n">overrides</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
|
||||
<span class="n">orig_value</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">prop_type</span><span class="o">=</span><span class="s1">'global'</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
|
||||
<span class="n">orig_value</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">prop_type</span><span class="o">=</span><span class="s">'global'</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="bp">None</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">value</span> <span class="o">=</span> <span class="n">value</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">prop_type</span> <span class="o">=</span> <span class="n">prop_type</span>
|
||||
|
@ -438,7 +438,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.sshutils — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.sshutils — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.sshutils</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">logging</span>
|
||||
<span class="kn">import</span> <span class="nn">os.path</span>
|
||||
<span class="kn">import</span> <span class="nn">paramiko</span>
|
||||
|
@ -72,7 +72,7 @@
|
|||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
|
||||
<span class="n">MIN_DOCKER_VERSION</span> <span class="o">=</span> <span class="s1">'1.8.1'</span>
|
||||
<span class="n">MIN_DOCKER_VERSION</span> <span class="o">=</span> <span class="s">'1.8.1'</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>
|
||||
|
||||
|
@ -99,17 +99,17 @@
|
|||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">ssh_client</span> <span class="o">=</span> <span class="n">ssh_connect</span><span class="p">(</span><span class="n">net_addr</span><span class="p">,</span> <span class="n">setup_user</span><span class="p">,</span> <span class="n">password</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># before modifying the host, check that it meets requirements</span>
|
||||
<span class="c1"># TODO(bmace) pre / post checks should be done with ansible</span>
|
||||
<span class="c"># before modifying the host, check that it meets requirements</span>
|
||||
<span class="c"># TODO(bmace) pre / post checks should be done with ansible</span>
|
||||
|
||||
<span class="c1"># populate authorized keys file w/ public key</span>
|
||||
<span class="n">key_dir</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">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s1">'~kolla'</span><span class="p">),</span>
|
||||
<span class="s1">'.ssh'</span><span class="p">,</span> <span class="s1">'authorized_keys'</span><span class="p">)</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="p">(</span><span class="s1">'/usr/bin/sudo su - </span><span class="si">%s</span><span class="s1"> -c "echo </span><span class="se">\'</span><span class="si">%s</span><span class="se">\'</span><span class="s1"> >> </span><span class="si">%s</span><span class="s1">"'</span>
|
||||
<span class="c"># populate authorized keys file w/ public key</span>
|
||||
<span class="n">key_dir</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">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s">'~kolla'</span><span class="p">),</span>
|
||||
<span class="s">'.ssh'</span><span class="p">,</span> <span class="s">'authorized_keys'</span><span class="p">)</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="p">(</span><span class="s">'/usr/bin/sudo su - </span><span class="si">%s</span><span class="s"> -c "echo </span><span class="se">\'</span><span class="si">%s</span><span class="se">\'</span><span class="s"> >> </span><span class="si">%s</span><span class="s">"'</span>
|
||||
<span class="o">%</span> <span class="p">(</span><span class="n">admin_user</span><span class="p">,</span> <span class="n">public_key</span><span class="p">,</span> <span class="n">key_dir</span><span class="p">))</span>
|
||||
<span class="n">_exec_ssh_cmd</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">ssh_client</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># TODO(bmace) verify ssh connection to the new account</span>
|
||||
<span class="c"># TODO(bmace) verify ssh connection to the new account</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="k">raise</span> <span class="n">e</span>
|
||||
<span class="k">finally</span><span class="p">:</span>
|
||||
|
@ -120,26 +120,26 @@
|
|||
<span class="k">if</span> <span class="n">ssh_client</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">ssh_client</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span> <span class="c1"># nosec</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span> <span class="c"># nosec</span>
|
||||
<span class="k">pass</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">_exec_ssh_cmd</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">ssh_client</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="n">cmd</span><span class="p">)</span>
|
||||
<span class="n">_</span><span class="p">,</span> <span class="n">stdout</span><span class="p">,</span> <span class="n">stderr</span> <span class="o">=</span> <span class="n">ssh_client</span><span class="o">.</span><span class="n">exec_command</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">get_pty</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="c1"># nosec</span>
|
||||
<span class="n">_</span><span class="p">,</span> <span class="n">stdout</span><span class="p">,</span> <span class="n">stderr</span> <span class="o">=</span> <span class="n">ssh_client</span><span class="o">.</span><span class="n">exec_command</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">get_pty</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> <span class="c"># nosec</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="n">stdout</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
|
||||
<span class="n">errmsg</span> <span class="o">=</span> <span class="n">stderr</span><span class="o">.</span><span class="n">read</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="s1">'</span><span class="si">%s</span><span class="s1"> : </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">msg</span><span class="p">,</span> <span class="n">errmsg</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">'</span><span class="si">%s</span><span class="s"> : </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">msg</span><span class="p">,</span> <span class="n">errmsg</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">errmsg</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="n">u</span><span class="o">.</span><span class="n">_LW</span><span class="p">(</span><span class="s1">'WARNING: command : {command})</span><span class="se">\n</span><span class="s1">message : {message}'</span><span class="p">)</span>
|
||||
<span class="n">u</span><span class="o">.</span><span class="n">_LW</span><span class="p">(</span><span class="s">'WARNING: command : {command})</span><span class="se">\n</span><span class="s">message : {message}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="n">cmd</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="n">errmsg</span><span class="o">.</span><span class="n">strip</span><span class="p">()))</span>
|
||||
<span class="k">return</span> <span class="n">msg</span><span class="p">,</span> <span class="n">errmsg</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="ssh_get_public_key"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.sshutils.ssh_get_public_key">[docs]</a><span class="k">def</span> <span class="nf">ssh_get_public_key</span><span class="p">():</span>
|
||||
<span class="n">keyfile_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_kollacli_etc</span><span class="p">(),</span> <span class="s1">'id_rsa.pub'</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">keyfile_path</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">)</span> <span class="k">as</span> <span class="n">public_key_file</span><span class="p">:</span>
|
||||
<span class="n">keyfile_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_kollacli_etc</span><span class="p">(),</span> <span class="s">'id_rsa.pub'</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">keyfile_path</span><span class="p">,</span> <span class="s">"r"</span><span class="p">)</span> <span class="k">as</span> <span class="n">public_key_file</span><span class="p">:</span>
|
||||
<span class="n">public_key</span> <span class="o">=</span> <span class="n">public_key_file</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">public_key</span>
|
||||
<span class="k">return</span> <span class="bp">None</span></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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.support — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.support — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,27 +47,27 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.support</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
|
||||
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">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">tarfile</span>
|
||||
<span class="kn">import</span> <span class="nn">tempfile</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">kollacli.api.exceptions</span> <span class="kn">import</span> <span class="n">FailedOperation</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.inventory</span> <span class="kn">import</span> <span class="n">Inventory</span>
|
||||
<span class="kn">from</span> <span class="nn">kollacli.common.properties</span> <span class="kn">import</span> <span class="n">AnsibleProperties</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.utils</span> <span class="kn">import</span> <span class="n">get_kolla_log_dir</span>
|
||||
|
@ -77,7 +77,132 @@
|
|||
<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="dump"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.dump">[docs]</a><span class="k">def</span> <span class="nf">dump</span><span class="p">():</span>
|
||||
<div class="viewcode-block" id="HostLogs"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.HostLogs">[docs]</a><span class="k">class</span> <span class="nc">HostLogs</span><span class="p">(</span><span class="nb">object</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="n">hostname</span><span class="p">,</span> <span class="n">inventory</span><span class="p">,</span> <span class="n">servicenames</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">hostname</span> <span class="o">=</span> <span class="n">hostname</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="bp">self</span><span class="o">.</span><span class="n">servicenames</span> <span class="o">=</span> <span class="n">servicenames</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">container_info</span> <span class="o">=</span> <span class="p">{}</span> <span class="c"># container_id: container_img_name</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">filtered_servicenames</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<div class="viewcode-block" id="HostLogs.load_container_info"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.HostLogs.load_container_info">[docs]</a> <span class="k">def</span> <span class="nf">load_container_info</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""get the list of containers on the host"""</span>
|
||||
<span class="n">hostname</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span>
|
||||
<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">'-a "docker ps -a"'</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">'Error accessing host </span><span class="si">%s</span><span class="s"> : </span><span class="si">%s</span><span class="s"> '</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="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>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s">'Host </span><span class="si">%s</span><span class="s"> is not accessible.'</span> <span class="o">%</span> <span class="n">hostname</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">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="s">'>>'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">output</span><span class="p">:</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s">'Host: </span><span class="si">%s</span><span class="s">. Invalid ansible return data: [</span><span class="si">%s</span><span class="s">].'</span>
|
||||
<span class="o">%</span> <span class="p">(</span><span class="n">hostname</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="s">'NAMES'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">output</span><span class="p">:</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s">'Host: </span><span class="si">%s</span><span class="s">. Invalid docker ps return data: [</span><span class="si">%s</span><span class="s">].'</span>
|
||||
<span class="o">%</span> <span class="p">(</span><span class="n">hostname</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="n">ansible_properties</span> <span class="o">=</span> <span class="n">AnsibleProperties</span><span class="p">()</span>
|
||||
<span class="n">base_distro</span> <span class="o">=</span> \
|
||||
<span class="n">ansible_properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s">'kolla_base_distro'</span><span class="p">)</span>
|
||||
<span class="n">install_type</span> <span class="o">=</span> \
|
||||
<span class="n">ansible_properties</span><span class="o">.</span><span class="n">get_property</span><span class="p">(</span><span class="s">'kolla_install_type'</span><span class="p">)</span>
|
||||
<span class="c"># typically this prefix will be "ol-openstack-"</span>
|
||||
<span class="n">container_prefix</span> <span class="o">=</span> <span class="n">base_distro</span> <span class="o">+</span> <span class="s">'-'</span> <span class="o">+</span> <span class="n">install_type</span> <span class="o">+</span> <span class="s">'-'</span>
|
||||
|
||||
<span class="c"># process ps output</span>
|
||||
<span class="n">containers</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="c"># the ps output is after the '>>'</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="n">output</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'>>'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">1</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">'docker ps -a on host: </span><span class="si">%s</span><span class="s">:</span><span class="se">\n</span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">output</span><span class="p">))</span>
|
||||
|
||||
<span class="n">lines</span> <span class="o">=</span> <span class="n">output</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</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="n">tokens</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">tokens</span><span class="p">)</span> <span class="o"><</span> <span class="mi">2</span><span class="p">:</span>
|
||||
<span class="k">continue</span>
|
||||
<span class="n">cid</span> <span class="o">=</span> <span class="n">tokens</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">image</span> <span class="o">=</span> <span class="n">tokens</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">container_prefix</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">image</span><span class="p">:</span>
|
||||
<span class="c"># skip non-kolla containers</span>
|
||||
<span class="k">continue</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">image</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">container_prefix</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">':'</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">containers</span><span class="p">[</span><span class="n">cid</span><span class="p">]</span> <span class="o">=</span> <span class="n">name</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">container_info</span> <span class="o">=</span> <span class="n">containers</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostLogs.get_log"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.HostLogs.get_log">[docs]</a> <span class="k">def</span> <span class="nf">get_log</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">container_id</span><span class="p">):</span>
|
||||
<span class="sd">"""read the container log"""</span>
|
||||
<span class="n">hostname</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'-a "docker logs </span><span class="si">%s</span><span class="s">"'</span> <span class="o">%</span> <span class="n">container_id</span>
|
||||
<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="n">cmd</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">'Error accessing host </span><span class="si">%s</span><span class="s"> : </span><span class="si">%s</span><span class="s"> '</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="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>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s">'Host </span><span class="si">%s</span><span class="s"> is not accessible.'</span> <span class="o">%</span> <span class="n">hostname</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="s">'>>'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">output</span><span class="p">:</span>
|
||||
<span class="n">msg</span> <span class="o">=</span> <span class="p">(</span><span class="s">'Host: </span><span class="si">%s</span><span class="s">. Invalid ansible return data: [</span><span class="si">%s</span><span class="s">].'</span>
|
||||
<span class="o">%</span> <span class="p">(</span><span class="n">hostname</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="c"># the log info is after the '>>'</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="n">output</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'>>'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">output</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostLogs.write_logs"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.HostLogs.write_logs">[docs]</a> <span class="k">def</span> <span class="nf">write_logs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dirname</span><span class="p">):</span>
|
||||
<span class="sd">"""write out the log files for all containers"""</span>
|
||||
<span class="k">for</span> <span class="n">container_id</span><span class="p">,</span> <span class="n">container_name</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">filtered_services</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="n">logdata</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_log</span><span class="p">(</span><span class="n">container_id</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">logdata</span><span class="p">:</span>
|
||||
<span class="n">logname</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s">_</span><span class="si">%s</span><span class="s">.log'</span> <span class="o">%</span> <span class="p">(</span><span class="n">container_name</span><span class="p">,</span> <span class="n">container_id</span><span class="p">)</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">write_logfile</span><span class="p">(</span><span class="n">dirname</span><span class="p">,</span> <span class="n">logname</span><span class="p">,</span> <span class="n">logdata</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">warn</span><span class="p">(</span><span class="s">'No log data found for service </span><span class="si">%s</span><span class="s"> on host </span><span class="si">%s</span><span class="s">'</span>
|
||||
<span class="o">%</span> <span class="p">(</span><span class="n">container_name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostname</span><span class="p">))</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostLogs.write_logfile"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.HostLogs.write_logfile">[docs]</a> <span class="k">def</span> <span class="nf">write_logfile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dirpath</span><span class="p">,</span> <span class="n">logname</span><span class="p">,</span> <span class="n">logdata</span><span class="p">):</span>
|
||||
<span class="sd">"""write out one log file"""</span>
|
||||
<span class="n">hostdir</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">dirpath</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">hostname</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">hostdir</span><span class="p">):</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">hostdir</span><span class="p">)</span>
|
||||
<span class="n">fpath</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">hostdir</span><span class="p">,</span> <span class="n">logname</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">fpath</span><span class="p">,</span> <span class="s">'w'</span><span class="p">)</span> <span class="k">as</span> <span class="n">logfile</span><span class="p">:</span>
|
||||
<span class="n">logfile</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">logdata</span><span class="p">)</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="HostLogs.filter_services"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.HostLogs.filter_services">[docs]</a> <span class="k">def</span> <span class="nf">filter_services</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""filter services to only those of interest"""</span>
|
||||
<span class="n">services_subset</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
<span class="k">for</span> <span class="n">host_svcid</span><span class="p">,</span> <span class="n">host_svcname</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">container_info</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="k">for</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="k">if</span> <span class="p">(</span><span class="n">host_svcname</span> <span class="o">==</span> <span class="n">servicename</span> <span class="ow">or</span>
|
||||
<span class="n">host_svcname</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="n">servicename</span> <span class="o">+</span> <span class="s">'-'</span><span class="p">)):</span>
|
||||
<span class="n">services_subset</span><span class="p">[</span><span class="n">host_svcid</span><span class="p">]</span> <span class="o">=</span> <span class="n">host_svcname</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">filtered_services</span> <span class="o">=</span> <span class="n">services_subset</span>
|
||||
|
||||
</div></div>
|
||||
<div class="viewcode-block" id="get_logs"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.get_logs">[docs]</a><span class="k">def</span> <span class="nf">get_logs</span><span class="p">(</span><span class="n">servicenames</span><span class="p">,</span> <span class="n">hostname</span><span class="p">,</span> <span class="n">dirname</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="n">inventory</span><span class="o">.</span><span class="n">validate_hostnames</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">validate_servicenames</span><span class="p">(</span><span class="n">servicenames</span><span class="p">)</span>
|
||||
|
||||
<span class="n">logs</span> <span class="o">=</span> <span class="n">HostLogs</span><span class="p">(</span><span class="n">hostname</span><span class="p">,</span> <span class="n">inventory</span><span class="p">,</span> <span class="n">servicenames</span><span class="p">)</span>
|
||||
<span class="n">logs</span><span class="o">.</span><span class="n">load_container_info</span><span class="p">()</span>
|
||||
<span class="n">logs</span><span class="o">.</span><span class="n">filter_services</span><span class="p">()</span>
|
||||
<span class="n">logs</span><span class="o">.</span><span class="n">write_logs</span><span class="p">(</span><span class="n">dirname</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="dump"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.support.dump">[docs]</a><span class="k">def</span> <span class="nf">dump</span><span class="p">(</span><span class="n">dirpath</span><span class="p">):</span>
|
||||
<span class="sd">"""Dumps configuration data for debugging</span>
|
||||
|
||||
<span class="sd"> Dumps most files in /etc/kolla and /usr/share/kolla into a</span>
|
||||
|
@ -86,70 +211,70 @@
|
|||
<span class="sd"> """</span>
|
||||
<span class="n">kolla_home</span> <span class="o">=</span> <span class="n">get_kolla_home</span><span class="p">()</span>
|
||||
<span class="n">kolla_logs</span> <span class="o">=</span> <span class="n">get_kolla_log_dir</span><span class="p">()</span>
|
||||
<span class="n">kolla_ansible</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">kolla_home</span><span class="p">,</span> <span class="s1">'ansible'</span><span class="p">)</span>
|
||||
<span class="n">kolla_docs</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">kolla_home</span><span class="p">,</span> <span class="s1">'docs'</span><span class="p">)</span>
|
||||
<span class="n">kolla_ansible</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">kolla_home</span><span class="p">,</span> <span class="s">'ansible'</span><span class="p">)</span>
|
||||
<span class="n">kolla_docs</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">kolla_home</span><span class="p">,</span> <span class="s">'docs'</span><span class="p">)</span>
|
||||
<span class="n">kolla_etc</span> <span class="o">=</span> <span class="n">get_kolla_etc</span><span class="p">()</span>
|
||||
<span class="n">kolla_config</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">kolla_etc</span><span class="p">,</span> <span class="s1">'config'</span><span class="p">)</span>
|
||||
<span class="n">kollacli_etc</span> <span class="o">=</span> <span class="n">get_kollacli_etc</span><span class="p">()</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s1">'/'</span><span class="p">)</span>
|
||||
<span class="n">ketc</span> <span class="o">=</span> <span class="s1">'kolla/etc/'</span>
|
||||
<span class="n">kshare</span> <span class="o">=</span> <span class="s1">'kolla/share/'</span>
|
||||
<span class="n">fd</span><span class="p">,</span> <span class="n">dump_path</span> <span class="o">=</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">mkstemp</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s1">'kollacli_dump_'</span><span class="p">,</span>
|
||||
<span class="n">suffix</span><span class="o">=</span><span class="s1">'.tgz'</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="n">fd</span><span class="p">)</span> <span class="c1"># avoid fd leak</span>
|
||||
<span class="k">with</span> <span class="n">tarfile</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">dump_path</span><span class="p">,</span> <span class="s1">'w:gz'</span><span class="p">)</span> <span class="k">as</span> <span class="n">tar</span><span class="p">:</span>
|
||||
<span class="c1"># Can't blanket add kolla_home because the .ssh dir is</span>
|
||||
<span class="c1"># accessible by the kolla user only (not kolla group)</span>
|
||||
<span class="n">kolla_config</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">kolla_etc</span><span class="p">,</span> <span class="s">'config'</span><span class="p">)</span>
|
||||
<span class="n">kollacli_etc</span> <span class="o">=</span> <span class="n">get_kollacli_etc</span><span class="p">()</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s">'/'</span><span class="p">)</span>
|
||||
<span class="n">ketc</span> <span class="o">=</span> <span class="s">'kolla/etc/'</span>
|
||||
<span class="n">kshare</span> <span class="o">=</span> <span class="s">'kolla/share/'</span>
|
||||
<span class="n">fd</span><span class="p">,</span> <span class="n">dump_path</span> <span class="o">=</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">mkstemp</span><span class="p">(</span><span class="nb">dir</span><span class="o">=</span><span class="n">dirpath</span><span class="p">,</span> <span class="n">prefix</span><span class="o">=</span><span class="s">'kollacli_dump_'</span><span class="p">,</span>
|
||||
<span class="n">suffix</span><span class="o">=</span><span class="s">'.tgz'</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="n">fd</span><span class="p">)</span> <span class="c"># avoid fd leak</span>
|
||||
<span class="k">with</span> <span class="n">tarfile</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">dump_path</span><span class="p">,</span> <span class="s">'w:gz'</span><span class="p">)</span> <span class="k">as</span> <span class="n">tar</span><span class="p">:</span>
|
||||
<span class="c"># Can't blanket add kolla_home because the .ssh dir is</span>
|
||||
<span class="c"># accessible by the kolla user only (not kolla group)</span>
|
||||
<span class="n">tar</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">kolla_ansible</span><span class="p">,</span>
|
||||
<span class="n">arcname</span><span class="o">=</span><span class="n">kshare</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">basename</span><span class="p">(</span><span class="n">kolla_ansible</span><span class="p">))</span>
|
||||
<span class="n">tar</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">kolla_docs</span><span class="p">,</span>
|
||||
<span class="n">arcname</span><span class="o">=</span><span class="n">kshare</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">basename</span><span class="p">(</span><span class="n">kolla_docs</span><span class="p">))</span>
|
||||
|
||||
<span class="c1"># Can't blanket add kolla_etc because the passwords.yml</span>
|
||||
<span class="c1"># file is accessible by the kolla user only (not kolla group)</span>
|
||||
<span class="c"># Can't blanket add kolla_etc because the passwords.yml</span>
|
||||
<span class="c"># file is accessible by the kolla user only (not kolla group)</span>
|
||||
<span class="n">tar</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">kolla_config</span><span class="p">,</span>
|
||||
<span class="n">arcname</span><span class="o">=</span><span class="n">ketc</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">basename</span><span class="p">(</span><span class="n">kolla_config</span><span class="p">))</span>
|
||||
<span class="n">tar</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">kollacli_etc</span><span class="p">,</span>
|
||||
<span class="n">arcname</span><span class="o">=</span><span class="n">ketc</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">basename</span><span class="p">(</span><span class="n">kollacli_etc</span><span class="p">))</span>
|
||||
|
||||
<span class="c1"># add kolla log files</span>
|
||||
<span class="c"># add kolla log files</span>
|
||||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">kolla_logs</span><span class="p">):</span>
|
||||
<span class="n">tar</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">kolla_logs</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># add output of various commands</span>
|
||||
<span class="c"># add output of various commands</span>
|
||||
<span class="n">_add_cmd_info</span><span class="p">(</span><span class="n">tar</span><span class="p">)</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">dump_path</span>
|
||||
|
||||
</div>
|
||||
<span class="k">def</span> <span class="nf">_add_cmd_info</span><span class="p">(</span><span class="n">tar</span><span class="p">):</span>
|
||||
<span class="c1"># run all the kollacli list commands</span>
|
||||
<span class="n">cmds</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'kollacli --version'</span><span class="p">,</span>
|
||||
<span class="s1">'kollacli service listgroups'</span><span class="p">,</span>
|
||||
<span class="s1">'kollacli service list'</span><span class="p">,</span>
|
||||
<span class="s1">'kollacli group listservices'</span><span class="p">,</span>
|
||||
<span class="s1">'kollacli group listhosts'</span><span class="p">,</span>
|
||||
<span class="s1">'kollacli host list'</span><span class="p">,</span>
|
||||
<span class="s1">'kollacli property list'</span><span class="p">,</span>
|
||||
<span class="s1">'kollacli password list'</span><span class="p">]</span>
|
||||
<span class="c"># run all the kollacli list commands</span>
|
||||
<span class="n">cmds</span> <span class="o">=</span> <span class="p">[</span><span class="s">'kollacli --version'</span><span class="p">,</span>
|
||||
<span class="s">'kollacli service listgroups'</span><span class="p">,</span>
|
||||
<span class="s">'kollacli service list'</span><span class="p">,</span>
|
||||
<span class="s">'kollacli group listservices'</span><span class="p">,</span>
|
||||
<span class="s">'kollacli group listhosts'</span><span class="p">,</span>
|
||||
<span class="s">'kollacli host list'</span><span class="p">,</span>
|
||||
<span class="s">'kollacli property list'</span><span class="p">,</span>
|
||||
<span class="s">'kollacli password list'</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># collect the json inventory output</span>
|
||||
<span class="c"># collect the json inventory output</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">inv_path</span> <span class="o">=</span> <span class="n">inventory</span><span class="o">.</span><span class="n">create_json_gen_file</span><span class="p">()</span>
|
||||
<span class="n">cmds</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">inv_path</span><span class="p">)</span>
|
||||
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">fd</span><span class="p">,</span> <span class="n">path</span> <span class="o">=</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">mkstemp</span><span class="p">(</span><span class="n">suffix</span><span class="o">=</span><span class="s1">'.tmp'</span><span class="p">)</span>
|
||||
<span class="n">fd</span><span class="p">,</span> <span class="n">path</span> <span class="o">=</span> <span class="n">tempfile</span><span class="o">.</span><span class="n">mkstemp</span><span class="p">(</span><span class="n">suffix</span><span class="o">=</span><span class="s">'.tmp'</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="n">fd</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span> <span class="k">as</span> <span class="n">tmp_file</span><span class="p">:</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="s">'w'</span><span class="p">)</span> <span class="k">as</span> <span class="n">tmp_file</span><span class="p">:</span>
|
||||
<span class="k">for</span> <span class="n">cmd</span> <span class="ow">in</span> <span class="n">cmds</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="bp">False</span><span class="p">)</span>
|
||||
<span class="n">tmp_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'</span><span class="se">\n\n</span><span class="s1">$ </span><span class="si">%s</span><span class="se">\n</span><span class="s1">'</span> <span class="o">%</span> <span class="n">cmd</span><span class="p">)</span>
|
||||
<span class="n">tmp_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'</span><span class="se">\n\n</span><span class="s">$ </span><span class="si">%s</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="n">cmd</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">err_msg</span><span class="p">:</span>
|
||||
<span class="n">tmp_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s1">'Error message: </span><span class="si">%s</span><span class="se">\n</span><span class="s1">'</span> <span class="o">%</span> <span class="n">err_msg</span><span class="p">)</span>
|
||||
<span class="n">tmp_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">'Error message: </span><span class="si">%s</span><span class="se">\n</span><span class="s">'</span> <span class="o">%</span> <span class="n">err_msg</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">output</span><span class="p">:</span>
|
||||
<span class="n">tmp_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="n">tmp_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">line</span> <span class="o">+</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span>
|
||||
|
||||
<span class="n">tar</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">arcname</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="s1">'kolla'</span><span class="p">,</span> <span class="s1">'cmds_output'</span><span class="p">))</span>
|
||||
<span class="n">tar</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">arcname</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="s">'kolla'</span><span class="p">,</span> <span class="s">'cmds_output'</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="k">raise</span> <span class="n">e</span>
|
||||
<span class="k">finally</span><span class="p">:</span>
|
||||
|
@ -190,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.utils — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.utils — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,27 +47,27 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.common.utils</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="kn">import</span> <span class="nn">fcntl</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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">import</span> <span class="nn">grp</span>
|
||||
<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">pexpect</span>
|
||||
<span class="kn">import</span> <span class="nn">pwd</span>
|
||||
<span class="kn">import</span> <span class="nn">six</span>
|
||||
<span class="kn">import</span> <span class="nn">subprocess</span> <span class="c"># nosec</span>
|
||||
<span class="kn">import</span> <span class="nn">sys</span>
|
||||
<span class="kn">import</span> <span class="nn">time</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">kollacli.i18n</span> <span class="kn">as</span> <span class="nn">u</span>
|
||||
|
||||
|
@ -78,31 +78,31 @@
|
|||
|
||||
|
||||
<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="s2">"KOLLA_HOME"</span><span class="p">,</span> <span class="s2">"/usr/share/kolla/"</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">"KOLLA_HOME"</span><span class="p">,</span> <span class="s">"/usr/share/kolla/"</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_kolla_etc"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_kolla_etc">[docs]</a><span class="k">def</span> <span class="nf">get_kolla_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="s2">"KOLLA_ETC"</span><span class="p">,</span> <span class="s2">"/etc/kolla/"</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">"KOLLA_ETC"</span><span class="p">,</span> <span class="s">"/etc/kolla/"</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_kollacli_home"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_kollacli_home">[docs]</a><span class="k">def</span> <span class="nf">get_kollacli_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="s2">"KOLLA_CLI_HOME"</span><span class="p">,</span> <span class="s2">"/usr/share/kolla/kollacli/"</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">"KOLLA_CLI_HOME"</span><span class="p">,</span> <span class="s">"/usr/share/kolla/kollacli/"</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_kollacli_etc"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_kollacli_etc">[docs]</a><span class="k">def</span> <span class="nf">get_kollacli_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="s2">"KOLLA_CLI_ETC"</span><span class="p">,</span> <span class="s2">"/etc/kolla/kollacli/"</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">"KOLLA_CLI_ETC"</span><span class="p">,</span> <span class="s">"/etc/kolla/kollacli/"</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_group_vars_dir"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_group_vars_dir">[docs]</a><span class="k">def</span> <span class="nf">get_group_vars_dir</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_kolla_home</span><span class="p">(),</span> <span class="s1">'ansible/group_vars'</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_kolla_home</span><span class="p">(),</span> <span class="s">'ansible/group_vars'</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_host_vars_dir"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_host_vars_dir">[docs]</a><span class="k">def</span> <span class="nf">get_host_vars_dir</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_kolla_home</span><span class="p">(),</span> <span class="s1">'ansible/host_vars'</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_kolla_home</span><span class="p">(),</span> <span class="s">'ansible/host_vars'</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_kolla_log_dir"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_kolla_log_dir">[docs]</a><span class="k">def</span> <span class="nf">get_kolla_log_dir</span><span class="p">():</span>
|
||||
<span class="k">return</span> <span class="s1">'/var/log/kolla/'</span>
|
||||
<span class="k">return</span> <span class="s">'/var/log/kolla/'</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_admin_uids"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_admin_uids">[docs]</a><span class="k">def</span> <span class="nf">get_admin_uids</span><span class="p">():</span>
|
||||
|
@ -114,37 +114,37 @@
|
|||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_kolla_log_file_size"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_kolla_log_file_size">[docs]</a><span class="k">def</span> <span class="nf">get_kolla_log_file_size</span><span class="p">():</span>
|
||||
<span class="n">envvar</span> <span class="o">=</span> <span class="s1">'KOLLA_LOG_FILE_SIZE'</span>
|
||||
<span class="n">size_str</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="n">envvar</span><span class="p">,</span> <span class="s1">'500000'</span><span class="p">)</span>
|
||||
<span class="n">envvar</span> <span class="o">=</span> <span class="s">'KOLLA_LOG_FILE_SIZE'</span>
|
||||
<span class="n">size_str</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="n">envvar</span><span class="p">,</span> <span class="s">'500000'</span><span class="p">)</span>
|
||||
<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="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="s1">'Environmental variable ({env_var}) is not an '</span>
|
||||
<span class="s1">'integer ({log_size}).'</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">'Environmental variable ({env_var}) is not an '</span>
|
||||
<span class="s">'integer ({log_size}).'</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="k">return</span> <span class="n">size</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_property_list_length"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_property_list_length">[docs]</a><span class="k">def</span> <span class="nf">get_property_list_length</span><span class="p">():</span>
|
||||
<span class="n">envvar</span> <span class="o">=</span> <span class="s1">'KOLLA_PROP_LIST_LENGTH'</span>
|
||||
<span class="n">length_str</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="n">envvar</span><span class="p">,</span> <span class="s1">'50'</span><span class="p">)</span>
|
||||
<span class="n">envvar</span> <span class="o">=</span> <span class="s">'KOLLA_PROP_LIST_LENGTH'</span>
|
||||
<span class="n">length_str</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="n">envvar</span><span class="p">,</span> <span class="s">'50'</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">length</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">length_str</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">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="s1">'Environmental variable ({env_var}) is not an '</span>
|
||||
<span class="s1">'integer ({prop_length}).'</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">'Environmental variable ({env_var}) is not an '</span>
|
||||
<span class="s">'integer ({prop_length}).'</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">prop_length</span><span class="o">=</span><span class="n">length_str</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">length</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_admin_user"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_admin_user">[docs]</a><span class="k">def</span> <span class="nf">get_admin_user</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="s2">"KOLLA_CLI_ADMIN_USER"</span><span class="p">,</span> <span class="s2">"kolla"</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">"KOLLA_CLI_ADMIN_USER"</span><span class="p">,</span> <span class="s">"kolla"</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_setup_user"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_setup_user">[docs]</a><span class="k">def</span> <span class="nf">get_setup_user</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="s2">"KOLLA_CLI_SETUP_USER"</span><span class="p">,</span> <span class="s2">"root"</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">"KOLLA_CLI_SETUP_USER"</span><span class="p">,</span> <span class="s">"root"</span><span class="p">)</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="get_ansible_command"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.get_ansible_command">[docs]</a><span class="k">def</span> <span class="nf">get_ansible_command</span><span class="p">(</span><span class="n">playbook</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
|
||||
|
@ -154,26 +154,26 @@
|
|||
<span class="sd"> python is py3, prefix the ansible command with a py2</span>
|
||||
<span class="sd"> interpreter.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s1">'ansible'</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'ansible'</span>
|
||||
<span class="k">if</span> <span class="n">playbook</span><span class="p">:</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s1">'ansible-playbook'</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'ansible-playbook'</span>
|
||||
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">>=</span> <span class="mi">3</span><span class="p">:</span>
|
||||
<span class="c1"># running with py3, find a py2 interpreter for ansible</span>
|
||||
<span class="c"># running with py3, find a py2 interpreter for ansible</span>
|
||||
<span class="n">py2_path</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="n">usr_bin</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="s1">'/'</span><span class="p">,</span> <span class="s1">'usr'</span><span class="p">,</span> <span class="s1">'bin'</span><span class="p">)</span>
|
||||
<span class="n">usr_bin</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="s">'/'</span><span class="p">,</span> <span class="s">'usr'</span><span class="p">,</span> <span class="s">'bin'</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">fname</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">usr_bin</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">fname</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">'python2.'</span><span class="p">)</span> <span class="ow">and</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">fname</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s">'python2.'</span><span class="p">)</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">isfile</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">usr_bin</span><span class="p">,</span> <span class="n">fname</span><span class="p">))):</span>
|
||||
<span class="n">suffix</span> <span class="o">=</span> <span class="n">fname</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">suffix</span> <span class="o">=</span> <span class="n">fname</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'.'</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">suffix</span><span class="o">.</span><span class="n">isdigit</span><span class="p">():</span>
|
||||
<span class="n">py2_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">usr_bin</span><span class="p">,</span> <span class="n">fname</span><span class="p">)</span>
|
||||
<span class="k">break</span>
|
||||
<span class="k">if</span> <span class="n">py2_path</span> <span class="ow">is</span> <span class="bp">None</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="s1">'ansible-playbook requires python2 and no '</span>
|
||||
<span class="s1">'python2 interpreter found in {path}.'</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">'ansible-playbook requires python2 and no '</span>
|
||||
<span class="s">'python2 interpreter found in {path}.'</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">usr_bin</span><span class="p">))</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">py2_path</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">usr_bin</span><span class="p">,</span> <span class="n">cmd</span><span class="p">))</span>
|
||||
<span class="n">cmd</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s"> </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">py2_path</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">usr_bin</span><span class="p">,</span> <span class="n">cmd</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">cmd</span>
|
||||
|
||||
</div>
|
||||
|
@ -195,42 +195,25 @@
|
|||
<span class="sd"> - err_msg: empty string=command succeeded</span>
|
||||
<span class="sd"> not None=command failed</span>
|
||||
<span class="sd"> - output: string: all the output of the run command</span>
|
||||
|
||||
<span class="sd"> If the command is an ansible playbook command, record the</span>
|
||||
<span class="sd"> output in an ansible log file.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">pwd_prompt</span> <span class="o">=</span> <span class="s1">'[sudo] password'</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">child</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="n">err</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">child</span> <span class="o">=</span> <span class="n">pexpect</span><span class="o">.</span><span class="n">spawn</span><span class="p">(</span><span class="n">cmd</span><span class="p">)</span>
|
||||
<span class="n">sniff</span> <span class="o">=</span> <span class="n">child</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">pwd_prompt</span><span class="p">))</span>
|
||||
<span class="n">sniff</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">sniff</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">sniff</span> <span class="o">==</span> <span class="n">pwd_prompt</span><span class="p">:</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="n">sniff</span> <span class="o">+</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</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="s1">'Insufficient permissions to run command "{command}".'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">command</span><span class="o">=</span><span class="n">cmd</span><span class="p">))</span>
|
||||
<span class="n">child</span><span class="o">.</span><span class="n">maxsize</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
<span class="n">child</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="mi">86400</span>
|
||||
<span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">child</span><span class="p">:</span>
|
||||
<span class="n">line</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
|
||||
<span class="n">outline</span> <span class="o">=</span> <span class="n">sniff</span> <span class="o">+</span> <span class="n">line</span><span class="o">.</span><span class="n">rstrip</span><span class="p">()</span>
|
||||
<span class="n">sniff</span> <span class="o">=</span> <span class="s1">''</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="s1">''</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">output</span><span class="p">,</span> <span class="n">outline</span><span class="p">,</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">])</span>
|
||||
<span class="k">if</span> <span class="n">print_output</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">outline</span><span class="p">)</span>
|
||||
|
||||
<span class="n">process</span> <span class="o">=</span> <span class="n">subprocess</span><span class="o">.</span><span class="n">Popen</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">shell</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="c"># nosec</span>
|
||||
<span class="n">stdout</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">,</span>
|
||||
<span class="n">stderr</span><span class="o">=</span><span class="n">subprocess</span><span class="o">.</span><span class="n">PIPE</span><span class="p">)</span>
|
||||
<span class="n">output</span><span class="p">,</span> <span class="n">err</span> <span class="o">=</span> <span class="n">process</span><span class="o">.</span><span class="n">communicate</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">err_msg</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="n">e</span>
|
||||
<span class="k">finally</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">child</span><span class="p">:</span>
|
||||
<span class="n">child</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">child</span><span class="o">.</span><span class="n">exitstatus</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">err_msg</span> <span class="o">=</span> <span class="p">(</span><span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span><span class="s1">'Command failed. : {error}'</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="n">err_msg</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">err_msg</span><span class="p">,</span> <span class="n">output</span>
|
||||
<span class="n">err</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">err</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">err</span><span class="p">)</span>
|
||||
<span class="n">output</span> <span class="o">=</span> <span class="n">safe_decode</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">process</span><span class="o">.</span><span class="n">returncode</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">err</span> <span class="o">=</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">'Command failed. : {error}'</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="n">err</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">print_output</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">output</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">err</span><span class="p">,</span> <span class="n">output</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="change_property"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.change_property">[docs]</a><span class="k">def</span> <span class="nf">change_property</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">property_key</span><span class="p">,</span> <span class="n">property_value</span><span class="p">,</span> <span class="n">clear</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
|
||||
|
@ -247,22 +230,22 @@
|
|||
<span class="sd"> If not clear, and key is found, edit property in place.</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">group_info</span> <span class="o">=</span> <span class="n">grp</span><span class="o">.</span><span class="n">getgrnam</span><span class="p">(</span><span class="s1">'kolla'</span><span class="p">)</span>
|
||||
<span class="n">group_info</span> <span class="o">=</span> <span class="n">grp</span><span class="o">.</span><span class="n">getgrnam</span><span class="p">(</span><span class="s">'kolla'</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">file_path</span><span class="p">):</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">):</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="s">'a'</span><span class="p">):</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">utime</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="bp">None</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="n">file_path</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">group_info</span><span class="o">.</span><span class="n">gr_gid</span><span class="p">)</span>
|
||||
|
||||
<span class="n">new_contents</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">read_data</span> <span class="o">=</span> <span class="n">sync_read_file</span><span class="p">(</span><span class="n">file_path</span><span class="p">)</span>
|
||||
<span class="n">lines</span> <span class="o">=</span> <span class="n">read_data</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
|
||||
<span class="n">new_line</span> <span class="o">=</span> <span class="s1">'</span><span class="si">%s</span><span class="s1">: "</span><span class="si">%s</span><span class="s1">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">property_key</span><span class="p">,</span> <span class="n">property_value</span><span class="p">)</span>
|
||||
<span class="n">lines</span> <span class="o">=</span> <span class="n">read_data</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span>
|
||||
<span class="n">new_line</span> <span class="o">=</span> <span class="s">'</span><span class="si">%s</span><span class="s">: "</span><span class="si">%s</span><span class="s">"'</span> <span class="o">%</span> <span class="p">(</span><span class="n">property_key</span><span class="p">,</span> <span class="n">property_value</span><span class="p">)</span>
|
||||
<span class="n">property_key_found</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="n">last_line_empty</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">lines</span><span class="p">:</span>
|
||||
<span class="n">line</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">rstrip</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># yank spurious empty lines</span>
|
||||
<span class="c"># yank spurious empty lines</span>
|
||||
<span class="k">if</span> <span class="n">line</span><span class="p">:</span>
|
||||
<span class="n">last_line_empty</span> <span class="o">=</span> <span class="bp">False</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
|
@ -270,51 +253,73 @@
|
|||
<span class="k">continue</span>
|
||||
<span class="n">last_line_empty</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
|
||||
<span class="n">split_line</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">':'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="n">split_line</span> <span class="o">=</span> <span class="n">line</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">':'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">split_line</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="n">split_key</span> <span class="o">=</span> <span class="n">split_line</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">split_key</span><span class="o">.</span><span class="n">rstrip</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">split_key</span> <span class="o">==</span> <span class="n">property_key</span><span class="p">:</span>
|
||||
<span class="n">property_key_found</span> <span class="o">=</span> <span class="bp">True</span>
|
||||
<span class="k">if</span> <span class="n">clear</span><span class="p">:</span>
|
||||
<span class="c1"># clear existing property</span>
|
||||
<span class="c"># clear existing property</span>
|
||||
<span class="k">continue</span>
|
||||
<span class="c1"># edit existing property</span>
|
||||
<span class="c"># edit existing property</span>
|
||||
<span class="n">line</span> <span class="o">=</span> <span class="n">new_line</span>
|
||||
<span class="n">new_contents</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">property_key_found</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">clear</span><span class="p">:</span>
|
||||
<span class="c1"># add new property to file</span>
|
||||
<span class="c"># add new property to file</span>
|
||||
<span class="n">new_contents</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">new_line</span><span class="p">)</span>
|
||||
|
||||
<span class="n">write_data</span> <span class="o">=</span> <span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">new_contents</span><span class="p">)</span>
|
||||
<span class="n">write_data</span> <span class="o">=</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">new_contents</span><span class="p">)</span>
|
||||
<span class="n">sync_write_file</span><span class="p">(</span><span class="n">file_path</span><span class="p">,</span> <span class="n">write_data</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="k">raise</span> <span class="n">e</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="sync_read_file"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.sync_read_file">[docs]</a><span class="k">def</span> <span class="nf">sync_read_file</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s1">'r'</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="sync_read_file"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.sync_read_file">[docs]</a><span class="k">def</span> <span class="nf">sync_read_file</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s">'r'</span><span class="p">):</span>
|
||||
<span class="sd">"""synchronously read file</span>
|
||||
|
||||
<span class="sd"> return file data</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">lock</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">lock</span> <span class="o">=</span> <span class="n">Lock</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s">'.lock'</span><span class="p">,</span> <span class="s">'sync_read'</span><span class="p">)</span>
|
||||
<span class="n">locked</span> <span class="o">=</span> <span class="n">lock</span><span class="o">.</span><span class="n">wait_acquire</span><span class="p">(</span><span class="mi">10</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">'unable to read file {path} '</span>
|
||||
<span class="s">'as it was locked by {owner}:{pid}.'</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">path</span><span class="p">,</span> <span class="n">owner</span><span class="o">=</span><span class="n">lock</span><span class="o">.</span><span class="n">current_owner</span><span class="p">,</span>
|
||||
<span class="n">pid</span><span class="o">=</span><span class="n">lock</span><span class="o">.</span><span class="n">current_pid</span><span class="p">))</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">mode</span><span class="p">)</span> <span class="k">as</span> <span class="n">data_file</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="n">data_file</span><span class="p">,</span> <span class="n">fcntl</span><span class="o">.</span><span class="n">LOCK_EX</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data_file</span><span class="o">.</span><span class="n">read</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="k">raise</span> <span class="n">e</span>
|
||||
<span class="k">finally</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">lock</span><span class="p">:</span>
|
||||
<span class="n">lock</span><span class="o">.</span><span class="n">release</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">data</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="sync_write_file"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.sync_write_file">[docs]</a><span class="k">def</span> <span class="nf">sync_write_file</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s1">'w'</span><span class="p">):</span>
|
||||
<div class="viewcode-block" id="sync_write_file"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.sync_write_file">[docs]</a><span class="k">def</span> <span class="nf">sync_write_file</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s">'w'</span><span class="p">):</span>
|
||||
<span class="sd">"""synchronously write file"""</span>
|
||||
<span class="n">lock</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">lock</span> <span class="o">=</span> <span class="n">Lock</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s">'.lock'</span><span class="p">,</span> <span class="s">'sync_write'</span><span class="p">)</span>
|
||||
<span class="n">locked</span> <span class="o">=</span> <span class="n">lock</span><span class="o">.</span><span class="n">wait_acquire</span><span class="p">(</span><span class="mi">10</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">'unable to write file {path} '</span>
|
||||
<span class="s">'as it was locked by {owner}:{pid}.'</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">path</span><span class="p">,</span> <span class="n">owner</span><span class="o">=</span><span class="n">lock</span><span class="o">.</span><span class="n">current_owner</span><span class="p">,</span>
|
||||
<span class="n">pid</span><span class="o">=</span><span class="n">lock</span><span class="o">.</span><span class="n">current_pid</span><span class="p">))</span>
|
||||
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">mode</span><span class="p">)</span> <span class="k">as</span> <span class="n">data_file</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="n">data_file</span><span class="p">,</span> <span class="n">fcntl</span><span class="o">.</span><span class="n">LOCK_EX</span><span class="p">)</span>
|
||||
<span class="n">data_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</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="k">raise</span> <span class="n">e</span>
|
||||
<span class="k">finally</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">lock</span><span class="p">:</span>
|
||||
<span class="n">lock</span><span class="o">.</span><span class="n">release</span><span class="p">()</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="safe_decode"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.safe_decode">[docs]</a><span class="k">def</span> <span class="nf">safe_decode</span><span class="p">(</span><span class="n">obj_to_decode</span><span class="p">):</span>
|
||||
|
@ -331,23 +336,23 @@
|
|||
<span class="n">new_obj</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">text</span> <span class="ow">in</span> <span class="n">obj_to_decode</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">text</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> <span class="c1"># nosec</span>
|
||||
<span class="c1"># py3 will raise if text is already a string</span>
|
||||
<span class="n">text</span> <span class="o">=</span> <span class="n">text</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">'utf-8'</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> <span class="c"># nosec</span>
|
||||
<span class="c"># py3 will raise if text is already a string</span>
|
||||
<span class="k">pass</span>
|
||||
<span class="n">new_obj</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">new_obj</span> <span class="o">=</span> <span class="n">obj_to_decode</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'utf-8'</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> <span class="c1"># nosec</span>
|
||||
<span class="c1"># py3 will raise if text is already a string</span>
|
||||
<span class="n">new_obj</span> <span class="o">=</span> <span class="n">obj_to_decode</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s">'utf-8'</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span> <span class="c"># nosec</span>
|
||||
<span class="c"># py3 will raise if text is already a string</span>
|
||||
<span class="n">new_obj</span> <span class="o">=</span> <span class="n">obj_to_decode</span>
|
||||
<span class="k">return</span> <span class="n">new_obj</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="is_string_true"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.is_string_true">[docs]</a><span class="k">def</span> <span class="nf">is_string_true</span><span class="p">(</span><span class="n">string</span><span class="p">):</span>
|
||||
<span class="sd">"""Return boolean True if string represents a true value (None is False)"""</span>
|
||||
<span class="n">true_values</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'yes'</span><span class="p">,</span> <span class="s1">'true'</span><span class="p">]</span>
|
||||
<span class="n">true_values</span> <span class="o">=</span> <span class="p">[</span><span class="s">'yes'</span><span class="p">,</span> <span class="s">'true'</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">string</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="n">string</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="ow">in</span> <span class="n">true_values</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
|
@ -358,21 +363,92 @@
|
|||
<span class="k">if</span> <span class="n">param</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">none_ok</span><span class="p">:</span>
|
||||
<span class="k">return</span>
|
||||
<span class="c1"># None arg</span>
|
||||
<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="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="c1"># empty string, dict or list</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="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="c1"># 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="s1">'{name} ({param}) is not a {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">'{name} ({param}) is not a {type}'</span><span class="p">)</span>
|
||||
<span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">param_name</span><span class="p">,</span> <span class="n">param</span><span class="o">=</span><span class="n">param</span><span class="p">,</span>
|
||||
<span class="nb">type</span><span class="o">=</span><span class="n">expected_type</span><span class="p">))</span></div>
|
||||
<span class="nb">type</span><span class="o">=</span><span class="n">expected_type</span><span class="p">))</span>
|
||||
|
||||
</div>
|
||||
<div class="viewcode-block" id="Lock"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.Lock">[docs]</a><span class="k">class</span> <span class="nc">Lock</span><span class="p">(</span><span class="nb">object</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="n">lockpath</span><span class="p">,</span> <span class="n">owner</span><span class="o">=</span><span class="s">'unknown owner'</span><span class="p">):</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">lockpath</span> <span class="o">=</span> <span class="n">lockpath</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">pid</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getpid</span><span class="p">())</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">owner</span> <span class="o">=</span> <span class="n">owner</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">current_pid</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">current_owner</span> <span class="o">=</span> <span class="s">''</span>
|
||||
|
||||
<div class="viewcode-block" id="Lock.acquire"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.Lock.acquire">[docs]</a> <span class="k">def</span> <span class="nf">acquire</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">is_owned_by_me</span><span class="p">():</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">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">lockpath</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">O_CREAT</span> <span class="o">|</span> <span class="n">os</span><span class="o">.</span><span class="n">O_EXCL</span> <span class="o">|</span> <span class="n">os</span><span class="o">.</span><span class="n">O_RDWR</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="n">os</span><span class="o">.</span><span class="n">fdopen</span><span class="p">(</span><span class="n">fd</span><span class="p">,</span> <span class="s">'a'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
||||
<span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pid</span> <span class="o">+</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_owned_by_me</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="c"># it is ok to fail to acquire, we just return that we failed</span>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'Exception in is_owned_by_me lock check '</span>
|
||||
<span class="s">'path: </span><span class="si">%s</span><span class="s"> pid: </span><span class="si">%s</span><span class="s"> owner: </span><span class="si">%s</span><span class="s"> error: </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span>
|
||||
<span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">lockpath</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">pid</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
|
||||
<span class="k">return</span> <span class="bp">False</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Lock.wait_acquire"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.Lock.wait_acquire">[docs]</a> <span class="k">def</span> <span class="nf">wait_acquire</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wait_duration</span><span class="p">,</span> <span class="n">interval</span><span class="o">=</span><span class="mf">0.1</span><span class="p">):</span>
|
||||
<span class="n">wait_time</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="k">while</span> <span class="p">(</span><span class="n">wait_time</span> <span class="o"><</span> <span class="n">wait_duration</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">acquire</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="n">interval</span><span class="p">)</span>
|
||||
<span class="n">wait_time</span> <span class="o">+=</span> <span class="n">interval</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
<span class="k">return</span> <span class="bp">False</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Lock.is_owned_by_me"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.Lock.is_owned_by_me">[docs]</a> <span class="k">def</span> <span class="nf">is_owned_by_me</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="sd">"""Returns True if we own the lock or False otherwise"""</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">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">lockpath</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">O_RDWR</span><span class="p">)</span>
|
||||
<span class="k">with</span> <span class="n">os</span><span class="o">.</span><span class="n">fdopen</span><span class="p">(</span><span class="n">fd</span><span class="p">,</span> <span class="s">'r'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
|
||||
<span class="n">contents</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">2048</span><span class="p">)</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">contents</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">current_pid</span> <span class="o">=</span> <span class="n">contents</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">contents</span><span class="p">)</span> <span class="o">></span> <span class="mi">1</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">current_owner</span> <span class="o">=</span> <span class="n">contents</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">contents</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">pid</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">False</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="c"># it is ok to fail to acquire, we just return that we failed</span>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">'Exception in is_owned_by_me lock check '</span>
|
||||
<span class="s">'path: </span><span class="si">%s</span><span class="s"> pid: </span><span class="si">%s</span><span class="s"> owner: </span><span class="si">%s</span><span class="s"> error: </span><span class="si">%s</span><span class="s">'</span> <span class="o">%</span>
|
||||
<span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">lockpath</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">pid</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
|
||||
<span class="k">return</span> <span class="bp">False</span>
|
||||
</div>
|
||||
<div class="viewcode-block" id="Lock.release"><a class="viewcode-back" href="../../../kollacli.common.html#kollacli.common.utils.Lock.release">[docs]</a> <span class="k">def</span> <span class="nf">release</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_owned_by_me</span><span class="p">():</span>
|
||||
<span class="k">try</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">lockpath</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="bp">True</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span><span class="p">:</span>
|
||||
<span class="c"># this really shouldn't happen unless for some reason</span>
|
||||
<span class="c"># two areas in the same process try to release the lock</span>
|
||||
<span class="c"># at the same time and if that happens you want to see</span>
|
||||
<span class="c"># an error about it</span>
|
||||
<span class="n">LOG</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s">'Error releasing lock'</span><span class="p">,</span> <span class="n">exc_info</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="bp">False</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">False</span></div></div>
|
||||
</pre></div>
|
||||
|
||||
</div>
|
||||
|
@ -406,7 +482,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.shell — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.shell — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="../../index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../index.html" accesskey="U">Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -47,19 +47,19 @@
|
|||
<div class="body">
|
||||
|
||||
<h1>Source code for kollacli.shell</h1><div class="highlight"><pre>
|
||||
<span></span><span class="c1"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c1"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c1"># a copy of the License at</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c1"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<span class="c1"># WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the</span>
|
||||
<span class="c1"># License for the specific language governing permissions and limitations</span>
|
||||
<span class="c1"># under the License.</span>
|
||||
<span class="c"># Copyright(c) 2016, Oracle and/or its affiliates. All Rights Reserved.</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Licensed under the Apache License, Version 2.0 (the "License"); you may</span>
|
||||
<span class="c"># not use this file except in compliance with the License. You may obtain</span>
|
||||
<span class="c"># a copy of the License at</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># http://www.apache.org/licenses/LICENSE-2.0</span>
|
||||
<span class="c">#</span>
|
||||
<span class="c"># Unless required by applicable law or agreed to in writing, software</span>
|
||||
<span class="c"># distributed under the License is distributed on an "AS IS" BASIS, WITHOUT</span>
|
||||
<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="sd">"""Command-line interface to Kolla"""</span>
|
||||
<span class="kn">import</span> <span class="nn">logging</span>
|
||||
<span class="kn">import</span> <span class="nn">os</span>
|
||||
|
@ -82,37 +82,37 @@
|
|||
<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="s1">'Command-Line Client for OpenStack Kolla'</span><span class="p">),</span>
|
||||
<span class="n">version</span><span class="o">=</span><span class="s1">'0.2'</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="s1">'kolla.cli'</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">'Command-Line Client for OpenStack Kolla'</span><span class="p">),</span>
|
||||
<span class="n">version</span><span class="o">=</span><span class="s">'0.2'</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">'kolla.cli'</span><span class="p">),</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="n">inventory_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_kollacli_etc</span><span class="p">(),</span>
|
||||
<span class="n">INVENTORY_PATH</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">inventory_path</span><span class="p">)</span> <span class="ow">is</span> <span class="bp">False</span><span class="p">:</span>
|
||||
<span class="n">err_string</span> <span class="o">=</span> <span class="n">u</span><span class="o">.</span><span class="n">_</span><span class="p">(</span>
|
||||
<span class="s1">'Required file ({inventory}) does not exist.</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="s1">'Please re-install the kollacli to '</span>
|
||||
<span class="s1">'recreate the file.'</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">inventory</span><span class="o">=</span><span class="n">inventory_path</span><span class="p">)</span>
|
||||
<span class="s">'Required file ({inventory}) does not exist.</span><span class="se">\n</span><span class="s">'</span>
|
||||
<span class="s">'Please re-install the kollacli to '</span>
|
||||
<span class="s">'recreate the file.'</span><span class="p">)</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">inventory</span><span class="o">=</span><span class="n">inventory_path</span><span class="p">)</span>
|
||||
<span class="k">raise</span> <span class="n">CommandError</span><span class="p">(</span><span class="n">err_string</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># check that current user can access the inventory file</span>
|
||||
<span class="c"># check that current user can access the inventory file</span>
|
||||
<span class="n">inventory_file</span> <span class="o">=</span> <span class="bp">None</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">inventory_file</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">inventory_path</span><span class="p">,</span> <span class="s1">'r+'</span><span class="p">)</span>
|
||||
<span class="n">inventory_file</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="n">inventory_path</span><span class="p">,</span> <span class="s">'r+'</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="s1">'Permission denied to run the kollacli.</span><span class="se">\n</span><span class="s1">'</span>
|
||||
<span class="s1">'Please add user to the kolla group and '</span>
|
||||
<span class="s1">'then log out and back in.'</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">'Permission denied to run the kollacli.</span><span class="se">\n</span><span class="s">'</span>
|
||||
<span class="s">'Please add user to the kolla group and '</span>
|
||||
<span class="s">'then log out and back in.'</span><span class="p">))</span>
|
||||
<span class="k">finally</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">inventory_file</span> <span class="ow">and</span> <span class="n">inventory_file</span><span class="o">.</span><span class="n">close</span> <span class="ow">is</span> <span class="bp">False</span><span class="p">:</span>
|
||||
<span class="n">inventory_file</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># paramiko log is very chatty, tune it down</span>
|
||||
<span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s1">'paramiko'</span><span class="p">)</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">WARNING</span><span class="p">)</span>
|
||||
<span class="c"># paramiko log is very chatty, tune it down</span>
|
||||
<span class="n">logging</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">'paramiko'</span><span class="p">)</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">WARNING</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># set up logging</span>
|
||||
<span class="c"># set up logging</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">rotating_log_dir</span> <span class="o">=</span> <span class="n">get_kolla_log_dir</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">max_bytes</span> <span class="o">=</span> <span class="n">get_kolla_log_file_size</span><span class="p">()</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">backup_count</span> <span class="o">=</span> <span class="mi">4</span>
|
||||
|
@ -122,9 +122,9 @@
|
|||
<span class="bp">self</span><span class="o">.</span><span class="n">add_rotational_log</span><span class="p">()</span>
|
||||
|
||||
<div class="viewcode-block" id="KollaCli.add_rotational_log"><a class="viewcode-back" href="../../kollacli.html#kollacli.shell.KollaCli.add_rotational_log">[docs]</a> <span class="k">def</span> <span class="nf">add_rotational_log</span><span class="p">(</span><span class="bp">self</span><span class="p">):</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="s1">''</span><span class="p">)</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">''</span><span class="p">)</span>
|
||||
<span class="n">rotate_handler</span> <span class="o">=</span> <span class="n">logging</span><span class="o">.</span><span class="n">handlers</span><span class="o">.</span><span class="n">RotatingFileHandler</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="bp">self</span><span class="o">.</span><span class="n">rotating_log_dir</span><span class="p">,</span> <span class="s1">'kolla.log'</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="bp">self</span><span class="o">.</span><span class="n">rotating_log_dir</span><span class="p">,</span> <span class="s">'kolla.log'</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">max_bytes</span><span class="p">,</span>
|
||||
<span class="n">backupCount</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">backup_count</span><span class="p">)</span>
|
||||
<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="bp">self</span><span class="o">.</span><span class="n">LOG_FILE_MESSAGE_FORMAT</span><span class="p">)</span>
|
||||
|
@ -137,7 +137,7 @@
|
|||
<span class="n">shell</span> <span class="o">=</span> <span class="n">KollaCli</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">shell</span><span class="o">.</span><span class="n">run</span><span class="p">(</span><span class="n">argv</span><span class="p">)</span>
|
||||
</div>
|
||||
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">"__main__"</span><span class="p">:</span>
|
||||
<span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">main</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">:]))</span>
|
||||
</pre></div>
|
||||
|
||||
|
@ -172,7 +172,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.dev379 documentation</a> »</li>
|
||||
<li><a href="../../index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
<li><a href="../index.html" >Module code</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
@ -4,10 +4,8 @@
|
|||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>Index — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>Index — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -77,6 +77,10 @@
|
|||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.utils.Lock.acquire">acquire() (kollacli.common.utils.Lock method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.add_group">add_group() (kollacli.common.inventory.Inventory method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -329,6 +333,10 @@
|
|||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.support.HostLogs.filter_services">filter_services() (kollacli.common.support.HostLogs method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.ansible.html#kollacli.common.ansible.playbook.AnsiblePlaybook.flush_cache">flush_cache (kollacli.common.ansible.playbook.AnsiblePlaybook attribute)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -497,6 +505,16 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.support.HostLogs.get_log">get_log() (kollacli.common.support.HostLogs method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.support.get_logs">get_logs() (in module kollacli.common.support)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.api.html#kollacli.api.group.GroupApi.Group.get_name">get_name() (kollacli.api.group.GroupApi.Group method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -510,8 +528,6 @@
|
|||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.api.html#kollacli.api.service.ServiceApi.Service.get_parent">get_parent() (kollacli.api.service.ServiceApi.Service method)</a>
|
||||
</dt>
|
||||
|
@ -813,6 +829,10 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.support.HostLogs">HostLogs (class in kollacli.common.support)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.commands.html#kollacli.commands.host.HostRemove">HostRemove (class in kollacli.commands.host)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -846,17 +866,21 @@
|
|||
<dt><a href="kollacli.api.html#kollacli.api.exceptions.InvalidConfiguration">InvalidConfiguration</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory">Inventory (class in kollacli.common.inventory)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.ansible.html#kollacli.common.ansible.playbook.AnsiblePlaybook.inventory">inventory (kollacli.common.ansible.playbook.AnsiblePlaybook attribute)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.utils.Lock.is_owned_by_me">is_owned_by_me() (kollacli.common.utils.Lock method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.utils.is_string_true">is_string_true() (in module kollacli.common.utils)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -1036,6 +1060,16 @@
|
|||
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.load">load() (kollacli.common.inventory.Inventory static method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.support.HostLogs.load_container_info">load_container_info() (kollacli.common.support.HostLogs method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.utils.Lock">Lock (class in kollacli.common.utils)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
@ -1159,6 +1193,10 @@
|
|||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.utils.Lock.release">release() (kollacli.common.utils.Lock method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.remove_all_hosts">remove_all_hosts() (kollacli.common.inventory.Inventory method)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -1219,6 +1257,10 @@
|
|||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.inventory.Inventory.run_ansible_command">run_ansible_command() (kollacli.common.inventory.Inventory method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.utils.run_cmd">run_cmd() (in module kollacli.common.utils)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -1296,12 +1338,12 @@
|
|||
<dt><a href="kollacli.common.html#kollacli.common.inventory.SubService.set_parent_servicename">set_parent_servicename() (kollacli.common.inventory.SubService method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.passwords.set_password">set_password() (in module kollacli.common.passwords)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.properties.AnsibleProperties.set_property">set_property() (kollacli.common.properties.AnsibleProperties method)</a>
|
||||
</dt>
|
||||
|
@ -1361,6 +1403,10 @@
|
|||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.api.html#kollacli.api.support.SupportApi.support_get_logs">support_get_logs() (kollacli.api.support.SupportApi method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.api.html#kollacli.api.support.SupportApi">SupportApi (class in kollacli.api.support)</a>
|
||||
</dt>
|
||||
|
||||
|
@ -1570,6 +1616,20 @@
|
|||
</dt>
|
||||
|
||||
</dl></dd>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.utils.Lock.wait_acquire">wait_acquire() (kollacli.common.utils.Lock method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
<td style="width: 33%" valign="top"><dl>
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.support.HostLogs.write_logfile">write_logfile() (kollacli.common.support.HostLogs method)</a>
|
||||
</dt>
|
||||
|
||||
|
||||
<dt><a href="kollacli.common.html#kollacli.common.support.HostLogs.write_logs">write_logs() (kollacli.common.support.HostLogs method)</a>
|
||||
</dt>
|
||||
|
||||
</dl></td>
|
||||
</tr></table>
|
||||
|
||||
|
@ -1609,7 +1669,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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>Welcome to kollacli’s documentation! — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>Welcome to kollacli’s documentation! — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="#" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="#">kollacli 1.0.0.dev386 documentation</a> »</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.dev379 documentation</a> »</li>
|
||||
<li><a href="#">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.api package — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.api package — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -365,13 +365,13 @@ Remote means that the deployment is executed via ssh.</p>
|
|||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.api.group.GroupApi.group_add">
|
||||
<tt class="descclassname">GroupApi.</tt><tt class="descname">group_add</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/group.html#GroupApi.group_add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.group.GroupApi.group_add" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Add a group to the inventory</p>
|
||||
<tt class="descclassname">GroupApi.</tt><tt class="descname">group_add</tt><big>(</big><em>groupnames</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/group.html#GroupApi.group_add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.group.GroupApi.group_add" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Add groups to the inventory</p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>groupname</strong> (<em>string</em>) – name of the group to add to the inventory</td>
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>groupnames</strong> (<em>list of strings</em>) – names of the groups to add to the inventory</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -413,13 +413,13 @@ Remote means that the deployment is executed via ssh.</p>
|
|||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.api.group.GroupApi.group_remove">
|
||||
<tt class="descclassname">GroupApi.</tt><tt class="descname">group_remove</tt><big>(</big><em>groupname</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/group.html#GroupApi.group_remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.group.GroupApi.group_remove" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Remove a group from the inventory</p>
|
||||
<tt class="descclassname">GroupApi.</tt><tt class="descname">group_remove</tt><big>(</big><em>groupnames</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/group.html#GroupApi.group_remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.group.GroupApi.group_remove" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Remove groups from the inventory</p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>groupname</strong> (<em>string</em>) – name of the group to remove from the inventory</td>
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>groupnames</strong> (<em>list of strings</em>) – names of the groups to remove from the inventory</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -974,7 +974,7 @@ represented:</p>
|
|||
<dd><p>Bases: <tt class="xref py py-class docutils literal"><span class="pre">object</span></tt></p>
|
||||
<dl class="method">
|
||||
<dt id="kollacli.api.support.SupportApi.support_dump">
|
||||
<tt class="descname">support_dump</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/api/support.html#SupportApi.support_dump"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.support.SupportApi.support_dump" title="Permalink to this definition">¶</a></dt>
|
||||
<tt class="descname">support_dump</tt><big>(</big><em>dirpath</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/support.html#SupportApi.support_dump"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.support.SupportApi.support_dump" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Dumps configuration data for debugging.</p>
|
||||
<p>Dumps most files in /etc/kolla and /usr/share/kolla into a
|
||||
tar file so be given to support / development to help with
|
||||
|
@ -983,9 +983,34 @@ debugging problems.</p>
|
|||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">path to dump file</td>
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>dirpath</strong> (<em>string</em>) – path to directory where dump will be placed</td>
|
||||
</tr>
|
||||
<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">string</td>
|
||||
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">path to dump file</td>
|
||||
</tr>
|
||||
<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body">string</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.api.support.SupportApi.support_get_logs">
|
||||
<tt class="descname">support_get_logs</tt><big>(</big><em>servicenames</em>, <em>hostname</em>, <em>dirpath</em><big>)</big><a class="reference internal" href="_modules/kollacli/api/support.html#SupportApi.support_get_logs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.api.support.SupportApi.support_get_logs" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>get container logs</p>
|
||||
<p>Fetch the container log files of services from the specified hosts.
|
||||
The log files will be placed in the named directory. All the containers
|
||||
for the host will be placed in a directory named hostname. The file
|
||||
names for each log will be servicename_id.log.</p>
|
||||
<table class="docutils field-list" frame="void" rules="none">
|
||||
<col class="field-name" />
|
||||
<col class="field-body" />
|
||||
<tbody valign="top">
|
||||
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
|
||||
<li><strong>servicenames</strong> (<em>list of strings</em>) – names of services (ie nova, glance, etc)</li>
|
||||
<li><strong>hostname</strong> (<em>string</em>) – name of host to look for logs on</li>
|
||||
<li><strong>dirpath</strong> (<em>string</em>) – path of directory where log files will be written</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -1056,7 +1081,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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.commands package — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.commands package — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common.ansible package — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common.ansible package — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -160,7 +160,7 @@ which can either be ‘stop’ or ‘kill’.</p>
|
|||
|
||||
<dl class="attribute">
|
||||
<dt id="kollacli.common.ansible.playbook.AnsiblePlaybook.inventory">
|
||||
<tt class="descname">inventory</tt><em class="property"> = <kollacli.common.inventory.Inventory object at 0x430e490></em><a class="headerlink" href="#kollacli.common.ansible.playbook.AnsiblePlaybook.inventory" title="Permalink to this definition">¶</a></dt>
|
||||
<tt class="descname">inventory</tt><em class="property"> = None</em><a class="headerlink" href="#kollacli.common.ansible.playbook.AnsiblePlaybook.inventory" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="attribute">
|
||||
|
@ -250,7 +250,7 @@ which can either be ‘stop’ or ‘kill’.</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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli.common package — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli.common package — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -365,6 +365,11 @@ if group name is not none, remove host from group</p>
|
|||
<tt class="descname">remove_json_gen_file</tt><big>(</big><em>path</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Inventory.remove_json_gen_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Inventory.remove_json_gen_file" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.inventory.Inventory.run_ansible_command">
|
||||
<tt class="descname">run_ansible_command</tt><big>(</big><em>ansible_command</em>, <em>hostname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Inventory.run_ansible_command"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Inventory.run_ansible_command" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="staticmethod">
|
||||
<dt id="kollacli.common.inventory.Inventory.save">
|
||||
<em class="property">static </em><tt class="descname">save</tt><big>(</big><em>inventory</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/inventory.html#Inventory.save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.inventory.Inventory.save" title="Permalink to this definition">¶</a></dt>
|
||||
|
@ -661,18 +666,86 @@ If it doesn’t exist, a new password will be added.</p>
|
|||
</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>
|
||||
<dl class="class">
|
||||
<dt id="kollacli.common.support.HostLogs">
|
||||
<em class="property">class </em><tt class="descclassname">kollacli.common.support.</tt><tt class="descname">HostLogs</tt><big>(</big><em>hostname</em>, <em>inventory</em>, <em>servicenames</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#HostLogs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.HostLogs" 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.support.HostLogs.filter_services">
|
||||
<tt class="descname">filter_services</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#HostLogs.filter_services"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.HostLogs.filter_services" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>filter services to only those of interest</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.support.HostLogs.get_log">
|
||||
<tt class="descname">get_log</tt><big>(</big><em>container_id</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#HostLogs.get_log"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.HostLogs.get_log" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>read the container log</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.support.HostLogs.load_container_info">
|
||||
<tt class="descname">load_container_info</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#HostLogs.load_container_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.HostLogs.load_container_info" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>get the list of containers on the host</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.support.HostLogs.write_logfile">
|
||||
<tt class="descname">write_logfile</tt><big>(</big><em>dirpath</em>, <em>logname</em>, <em>logdata</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#HostLogs.write_logfile"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.HostLogs.write_logfile" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>write out one log file</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.support.HostLogs.write_logs">
|
||||
<tt class="descname">write_logs</tt><big>(</big><em>dirname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#HostLogs.write_logs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.HostLogs.write_logs" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>write out the log files for all containers</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="kollacli.common.support.dump">
|
||||
<tt class="descclassname">kollacli.common.support.</tt><tt class="descname">dump</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#dump"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.dump" title="Permalink to this definition">¶</a></dt>
|
||||
<tt class="descclassname">kollacli.common.support.</tt><tt class="descname">dump</tt><big>(</big><em>dirpath</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#dump"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.dump" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Dumps configuration data for debugging</p>
|
||||
<p>Dumps most files in /etc/kolla and /usr/share/kolla into a
|
||||
tar file so be given to support / development to help with
|
||||
debugging problems.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="kollacli.common.support.get_logs">
|
||||
<tt class="descclassname">kollacli.common.support.</tt><tt class="descname">get_logs</tt><big>(</big><em>servicenames</em>, <em>hostname</em>, <em>dirname</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/support.html#get_logs"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.support.get_logs" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</div>
|
||||
<div class="section" id="module-kollacli.common.utils">
|
||||
<span id="kollacli-common-utils-module"></span><h2>kollacli.common.utils module<a class="headerlink" href="#module-kollacli.common.utils" title="Permalink to this headline">¶</a></h2>
|
||||
<dl class="class">
|
||||
<dt id="kollacli.common.utils.Lock">
|
||||
<em class="property">class </em><tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">Lock</tt><big>(</big><em>lockpath</em>, <em>owner='unknown owner'</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#Lock"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.Lock" 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.utils.Lock.acquire">
|
||||
<tt class="descname">acquire</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#Lock.acquire"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.Lock.acquire" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.utils.Lock.is_owned_by_me">
|
||||
<tt class="descname">is_owned_by_me</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#Lock.is_owned_by_me"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.Lock.is_owned_by_me" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><p>Returns True if we own the lock or False otherwise</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.utils.Lock.release">
|
||||
<tt class="descname">release</tt><big>(</big><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#Lock.release"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.Lock.release" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="kollacli.common.utils.Lock.wait_acquire">
|
||||
<tt class="descname">wait_acquire</tt><big>(</big><em>wait_duration</em>, <em>interval=0.1</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#Lock.wait_acquire"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.Lock.wait_acquire" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
<dt id="kollacli.common.utils.change_property">
|
||||
<tt class="descclassname">kollacli.common.utils.</tt><tt class="descname">change_property</tt><big>(</big><em>file_path</em>, <em>property_key</em>, <em>property_value</em>, <em>clear=False</em><big>)</big><a class="reference internal" href="_modules/kollacli/common/utils.html#change_property"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#kollacli.common.utils.change_property" title="Permalink to this definition">¶</a></dt>
|
||||
|
@ -787,8 +860,6 @@ interpreter.</p>
|
|||
<ul class="simple">
|
||||
<li>output: string: all the output of the run command</li>
|
||||
</ul>
|
||||
<p>If the command is an ansible playbook command, record the
|
||||
output in an ansible log file.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="function">
|
||||
|
@ -871,7 +942,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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli package — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli package — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -185,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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>kollacli — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>kollacli — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -141,7 +141,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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
Binary file not shown.
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>Python Module Index — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>Python Module Index — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -273,7 +273,7 @@
|
|||
<li class="right" >
|
||||
<a href="#" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title>Search — kollacli 1.0.0.dev379 documentation</title>
|
||||
<title>Search — kollacli 1.0.0.dev386 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.dev379',
|
||||
VERSION: '1.0.0.dev386',
|
||||
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.dev379 documentation" href="index.html" />
|
||||
<link rel="top" title="kollacli 1.0.0.dev386 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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</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.dev379 documentation</a> »</li>
|
||||
<li><a href="index.html">kollacli 1.0.0.dev386 documentation</a> »</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer">
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue