Commit f93ba4c8 authored by Spiros Koulouzis's avatar Spiros Koulouzis

added retry failed anible tasks and mammoth vm

parent b35cbba5
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-json-client.jar"> <tr class="clickable-row" data-href="drip-api-json-client.jar">
<td><span class="downloadfile-name">drip-api-json-client.jar</span></td> <td><span class="downloadfile-name">drip-api-json-client.jar</span></td>
<td><span class="downloadfile-size">18.03K</span></td> <td><span class="downloadfile-size">18.04K</span></td>
<td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td> <td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td>
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar"> <tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar">
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar"> <tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar">
<td><span class="downloadfile-name">drip-api-xml-client-xml-sources.jar</span></td> <td><span class="downloadfile-name">drip-api-xml-client-xml-sources.jar</span></td>
<td><span class="downloadfile-size">23.28K</span></td> <td><span class="downloadfile-size">23.27K</span></td>
<td><span class="downloadfile-description">The sources for the Java XML client library.</span></td> <td><span class="downloadfile-description">The sources for the Java XML client library.</span></td>
</tr> </tr>
</tbody> </tbody>
...@@ -184,7 +184,7 @@ ...@@ -184,7 +184,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-js.zip"> <tr class="clickable-row" data-href="drip-api-js.zip">
<td><span class="downloadfile-name">drip-api-js.zip</span></td> <td><span class="downloadfile-name">drip-api-js.zip</span></td>
<td><span class="downloadfile-size">5.92K</span></td> <td><span class="downloadfile-size">5.91K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-php.zip"> <tr class="clickable-row" data-href="drip-api-php.zip">
<td><span class="downloadfile-name">drip-api-php.zip</span></td> <td><span class="downloadfile-name">drip-api-php.zip</span></td>
<td><span class="downloadfile-size">6.67K</span></td> <td><span class="downloadfile-size">6.64K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
......
This diff is collapsed.
...@@ -81,25 +81,25 @@ class</p> ...@@ -81,25 +81,25 @@ class</p>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td> <span class="property-name">end</span> <td> <span class="property-name">cloudDeploymentDomain</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">string
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">vmType</span> <td> <span class="property-name">start</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">number
</span> </span>
</td> </td>
<td> <span class="property-description"></span> <td> <span class="property-description"></span>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">host</span> <td> <span class="property-name">vmType</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -117,7 +117,7 @@ class</p> ...@@ -117,7 +117,7 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">cloudDeploymentDomain</span> <td> <span class="property-name">host</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -126,7 +126,7 @@ class</p> ...@@ -126,7 +126,7 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">start</span> <td> <span class="property-name">end</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">number
</span> </span>
...@@ -167,12 +167,12 @@ No need to set during a POST</span></td> ...@@ -167,12 +167,12 @@ No need to set during a POST</span></td>
<p class="lead">Example</p> <p class="lead">Example</p>
<pre class="prettyprint language-js example">{ <pre class="prettyprint language-js example">{
&quot;end&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;end&quot; : 12345,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -69,7 +69,7 @@ class</p> ...@@ -69,7 +69,7 @@ class</p>
<dl class="dl-horizontal"> <dl class="dl-horizontal">
<dt>Subtypes</dt> <dt>Subtypes</dt>
<dd><a href="json_KeyPair.html">KeyPair</a>, <a href="json_ScaleRequest.html">ScaleRequest</a>, <a href="json_AnsibleOutput.html">AnsibleOutput</a>, <a href="json_CloudCredentials.html">CloudCredentials</a>, <a href="json_BenchmarkResult.html">BenchmarkResult</a>, <a href="json_DeployResponse.html">DeployResponse</a>, <a href="json_DRIPLogRecord.html">DRIPLogRecord</a>, <a href="json_ProvisionRequest.html">ProvisionRequest</a>, <a href="json_Script.html">Script</a>, <a href="json_KeyValueHolder.html">KeyValueHolder</a>, <a href="json_DeployRequest.html">DeployRequest</a>, <a href="json_MonitorringMessage.html">MonitorringMessage</a>, <a href="json_ProvisionResponse.html">ProvisionResponse</a></dd> <dd><a href="json_KeyPair.html">KeyPair</a>, <a href="json_AnsibleOutput.html">AnsibleOutput</a>, <a href="json_ScaleRequest.html">ScaleRequest</a>, <a href="json_BenchmarkResult.html">BenchmarkResult</a>, <a href="json_CloudCredentials.html">CloudCredentials</a>, <a href="json_DeployResponse.html">DeployResponse</a>, <a href="json_DRIPLogRecord.html">DRIPLogRecord</a>, <a href="json_ProvisionRequest.html">ProvisionRequest</a>, <a href="json_Script.html">Script</a>, <a href="json_KeyValueHolder.html">KeyValueHolder</a>, <a href="json_DeployRequest.html">DeployRequest</a>, <a href="json_MonitorringMessage.html">MonitorringMessage</a>, <a href="json_ProvisionResponse.html">ProvisionResponse</a></dd>
</dl> </dl>
<table class="table datatype-properties"> <table class="table datatype-properties">
......
...@@ -825,13 +825,13 @@ class]]> ...@@ -825,13 +825,13 @@ class]]>
</xs:element> </xs:element>
<xs:element name="vmType" type="xs:string" minOccurs="0"> <xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="cloudDeploymentDomain" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="end" type="xs:dateTime" minOccurs="0"> <xs:element name="end" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="delta" type="xs:dateTime" minOccurs="0">
</xs:element>
<xs:element name="host" type="xs:string" minOccurs="0"> <xs:element name="host" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="delta" type="xs:dateTime" minOccurs="0"> <xs:element name="cloudDeploymentDomain" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
</xs:extension> </xs:extension>
......
...@@ -144,12 +144,12 @@ Content-Type: application/json ...@@ -144,12 +144,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
[ { [ {
&quot;end&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;end&quot; : 12345,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
...@@ -514,12 +514,12 @@ Content-Type: application/json ...@@ -514,12 +514,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
{ {
&quot;end&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;delta&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;end&quot; : 12345,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -222,10 +222,10 @@ It is created automatically. No need to set during a POST</span></td> ...@@ -222,10 +222,10 @@ It is created automatically. No need to set during a POST</span></td>
<pre class="prettyprint language-xml example">&lt;b-----&gt; <pre class="prettyprint language-xml example">&lt;b-----&gt;
&lt;start&gt;...&lt;/start&gt; &lt;start&gt;...&lt;/start&gt;
&lt;vmType&gt;...&lt;/vmType&gt; &lt;vmType&gt;...&lt;/vmType&gt;
&lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt;
&lt;end&gt;...&lt;/end&gt; &lt;end&gt;...&lt;/end&gt;
&lt;host&gt;147.228.242.58&lt;/host&gt;
&lt;delta&gt;...&lt;/delta&gt; &lt;delta&gt;...&lt;/delta&gt;
&lt;host&gt;147.228.242.58&lt;/host&gt;
&lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt;
&lt;owner&gt;user1&lt;/owner&gt; &lt;owner&gt;user1&lt;/owner&gt;
&lt;/b-----&gt; &lt;/b-----&gt;
</pre> </pre>
......
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-json-client.jar"> <tr class="clickable-row" data-href="drip-api-json-client.jar">
<td><span class="downloadfile-name">drip-api-json-client.jar</span></td> <td><span class="downloadfile-name">drip-api-json-client.jar</span></td>
<td><span class="downloadfile-size">18.03K</span></td> <td><span class="downloadfile-size">18.04K</span></td>
<td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td> <td><span class="downloadfile-description">The binaries for the Java JSON client library.</span></td>
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar"> <tr class="clickable-row" data-href="drip-api-json-client-json-sources.jar">
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
</tr> </tr>
<tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar"> <tr class="clickable-row" data-href="drip-api-xml-client-xml-sources.jar">
<td><span class="downloadfile-name">drip-api-xml-client-xml-sources.jar</span></td> <td><span class="downloadfile-name">drip-api-xml-client-xml-sources.jar</span></td>
<td><span class="downloadfile-size">23.28K</span></td> <td><span class="downloadfile-size">23.27K</span></td>
<td><span class="downloadfile-description">The sources for the Java XML client library.</span></td> <td><span class="downloadfile-description">The sources for the Java XML client library.</span></td>
</tr> </tr>
</tbody> </tbody>
...@@ -184,7 +184,7 @@ ...@@ -184,7 +184,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-js.zip"> <tr class="clickable-row" data-href="drip-api-js.zip">
<td><span class="downloadfile-name">drip-api-js.zip</span></td> <td><span class="downloadfile-name">drip-api-js.zip</span></td>
<td><span class="downloadfile-size">5.92K</span></td> <td><span class="downloadfile-size">5.91K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
<tbody data-link="row" class="rowlink"> <tbody data-link="row" class="rowlink">
<tr class="clickable-row" data-href="drip-api-php.zip"> <tr class="clickable-row" data-href="drip-api-php.zip">
<td><span class="downloadfile-name">drip-api-php.zip</span></td> <td><span class="downloadfile-name">drip-api-php.zip</span></td>
<td><span class="downloadfile-size">6.67K</span></td> <td><span class="downloadfile-size">6.64K</span></td>
<td><span class="downloadfile-description">&nbsp;</span></td> <td><span class="downloadfile-description">&nbsp;</span></td>
</tr> </tr>
</tbody> </tbody>
......
This diff is collapsed.
...@@ -81,7 +81,7 @@ class</p> ...@@ -81,7 +81,7 @@ class</p>
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td> <span class="property-name">vmType</span> <td> <span class="property-name">host</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -99,7 +99,7 @@ class</p> ...@@ -99,7 +99,7 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">delta</span> <td> <span class="property-name">end</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">number
</span> </span>
...@@ -117,7 +117,7 @@ class</p> ...@@ -117,7 +117,7 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">end</span> <td> <span class="property-name">delta</span>
</td> </td>
<td> <span class="datatype-reference">number <td> <span class="datatype-reference">number
</span> </span>
...@@ -126,7 +126,7 @@ class</p> ...@@ -126,7 +126,7 @@ class</p>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <span class="property-name">host</span> <td> <span class="property-name">vmType</span>
</td> </td>
<td> <span class="datatype-reference">string <td> <span class="datatype-reference">string
</span> </span>
...@@ -167,12 +167,12 @@ No need to set during a POST</span></td> ...@@ -167,12 +167,12 @@ No need to set during a POST</span></td>
<p class="lead">Example</p> <p class="lead">Example</p>
<pre class="prettyprint language-js example">{ <pre class="prettyprint language-js example">{
&quot;vmType&quot; : &quot;...&quot;, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345, &quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;delta&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -821,16 +821,16 @@ class]]> ...@@ -821,16 +821,16 @@ class]]>
<xs:complexContent> <xs:complexContent>
<xs:extension base="ownedObject"> <xs:extension base="ownedObject">
<xs:sequence> <xs:sequence>
<xs:element name="delta" type="xs:dateTime" minOccurs="0">
</xs:element>
<xs:element name="cloudDeploymentDomain" type="xs:string" minOccurs="0"> <xs:element name="cloudDeploymentDomain" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="host" type="xs:string" minOccurs="0"> <xs:element name="host" type="xs:string" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="start" type="xs:dateTime" minOccurs="0"> <xs:element name="start" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
<xs:element name="delta" type="xs:dateTime" minOccurs="0">
</xs:element>
<xs:element name="vmType" type="xs:string" minOccurs="0">
</xs:element>
<xs:element name="end" type="xs:dateTime" minOccurs="0"> <xs:element name="end" type="xs:dateTime" minOccurs="0">
</xs:element> </xs:element>
</xs:sequence> </xs:sequence>
......
...@@ -144,12 +144,12 @@ Content-Type: application/json ...@@ -144,12 +144,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
[ { [ {
&quot;vmType&quot; : &quot;...&quot;, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345, &quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;delta&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
...@@ -514,12 +514,12 @@ Content-Type: application/json ...@@ -514,12 +514,12 @@ Content-Type: application/json
<code class="prettyprint language-js"> <code class="prettyprint language-js">
{ {
&quot;vmType&quot; : &quot;...&quot;, &quot;host&quot; : &quot;147.228.242.58&quot;,
&quot;start&quot; : 12345, &quot;start&quot; : 12345,
&quot;delta&quot; : 12345,
&quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;end&quot; : 12345, &quot;end&quot; : 12345,
&quot;host&quot; : &quot;147.228.242.58&quot;, &quot;cloudDeploymentDomain&quot; : &quot;us-east-1&quot;,
&quot;delta&quot; : 12345,
&quot;vmType&quot; : &quot;...&quot;,
&quot;owner&quot; : &quot;user1&quot;, &quot;owner&quot; : &quot;user1&quot;,
&quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;, &quot;id&quot; : &quot;58e3946e0fb4f562d84ba1ad&quot;,
&quot;timestamp&quot; : 1499793079011 &quot;timestamp&quot; : 1499793079011
......
...@@ -220,11 +220,11 @@ It is created automatically. No need to set during a POST</span></td> ...@@ -220,11 +220,11 @@ It is created automatically. No need to set during a POST</span></td>
<p class="lead">Example</p> <p class="lead">Example</p>
<pre class="prettyprint language-xml example">&lt;b-----&gt; <pre class="prettyprint language-xml example">&lt;b-----&gt;
&lt;delta&gt;...&lt;/delta&gt;
&lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt; &lt;cloudDeploymentDomain&gt;us-east-1&lt;/cloudDeploymentDomain&gt;
&lt;vmType&gt;...&lt;/vmType&gt;
&lt;host&gt;147.228.242.58&lt;/host&gt; &lt;host&gt;147.228.242.58&lt;/host&gt;
&lt;start&gt;...&lt;/start&gt; &lt;start&gt;...&lt;/start&gt;
&lt;delta&gt;...&lt;/delta&gt;
&lt;vmType&gt;...&lt;/vmType&gt;
&lt;end&gt;...&lt;/end&gt; &lt;end&gt;...&lt;/end&gt;
&lt;owner&gt;user1&lt;/owner&gt; &lt;owner&gt;user1&lt;/owner&gt;
&lt;/b-----&gt; &lt;/b-----&gt;
......
...@@ -55,7 +55,9 @@ if not getattr(logger, 'handler_set', None): ...@@ -55,7 +55,9 @@ if not getattr(logger, 'handler_set', None):
retry=0 retry=0
#cwd = os.getcwd()
falied_playbook='/tmp/falied_playbook.yml'
def install_prerequisites(vm,return_dict): def install_prerequisites(vm,return_dict):
try: try:
...@@ -87,42 +89,52 @@ def install_prerequisites(vm,return_dict): ...@@ -87,42 +89,52 @@ def install_prerequisites(vm,return_dict):
return "ERROR:"+vm.ip+" "+str(e) return "ERROR:"+vm.ip+" "+str(e)
ssh.close() ssh.close()
return_dict[vm.ip] = "SUCCESS" return_dict[vm.ip] = "SUCCESS"
retry = 0
return "SUCCESS" return "SUCCESS"
def run_faied(failed_tasks,inventory,variable_manager,loader,options,passwords,results_callback,playbook_path): def create_faied_playbooks(failed_tasks,inventory,variable_manager,loader,options,passwords,results_callback,playbook_path):
tasks = [] tasks = []
hosts = [] hosts = []
#tqm = TaskQueueManager(inventory=inventory, variable_manager=variable_manager, loader=loader, options=options, passwords=passwords)
plays = {}
#yml_plays = {} with open(playbook_path) as stream:
#with open(playbook_path) as stream: plays = yaml.load(stream)
#yml_plays = yaml.load(stream)
failed_plays = []
#failed_yml = {} for failed_task in failed_tasks:
#retry_task = [] failed_play = {}
#hosts = [] retry_task = []
#for failed_task in failed_tasks: hosts = ""
#name = failed_task._task.get_name() if isinstance(failed_task, ansible.parsing.yaml.objects.AnsibleUnicode) or isinstance(failed_task, unicode):
#host = failed_task._host.get_name() task_name = str(failed_task)
host = str(failed_task)
else:
task_name = str(failed_task._task.get_name())
host = str(failed_task._host.get_name())
#for play in yml_plays: for play in plays:
#for task in play['tasks']: for task in play['tasks']:
#if name in task['name']: if 'name' in task and task['name'] == task_name:
#retry_task.append(task) retry_task.append(task)
#hosts.append(host) logger.warning("Faield task: \'"+task_name+ "\' In host: "+ host)
#failed_yml['hosts'] = hosts if host not in hosts:
#failed_yml['tasks'] = retry_task hosts +=host+","
break
#with open('/tmp/failed.yml', 'w') as outfile: elif task_name in task:
#yaml.dump(failed_yml, outfile, default_flow_style=False) retry_task.append(task)
logger.warning("Faield task: \'"+task_name+ "\' In host: "+ host)
#play = Play().load('/tmp/failed.yml', variable_manager=variable_manager, loader=loader) if host not in hosts:
#res = tqm.run(play=play) hosts +=host+","
break
failed_play['hosts'] = hosts
failed_play['tasks'] = retry_task
failed_plays.append(failed_play)
with open(falied_playbook, 'w') as outfile:
yaml.dump(failed_plays, outfile)
def execute_playbook(hosts, playbook_path,user,ssh_key_file,extra_vars,passwords): def execute_playbook(hosts, playbook_path,user,ssh_key_file,extra_vars,passwords):
if not os.path.exists(playbook_path): if not os.path.exists(playbook_path):
...@@ -160,44 +172,38 @@ def execute_playbook(hosts, playbook_path,user,ssh_key_file,extra_vars,passwords ...@@ -160,44 +172,38 @@ def execute_playbook(hosts, playbook_path,user,ssh_key_file,extra_vars,passwords
results = pbex.run() results = pbex.run()
ok = results_callback.host_ok ok = results_callback.host_ok
answer = [] answer = []
failed_tasks = [] failed_tasks = []
for res in ok: for res in ok:
#failed_tasks.append(res['result'])
resp = json.dumps({"host":res['ip'], "result":res['result']._result,"task":res['task']}) resp = json.dumps({"host":res['ip'], "result":res['result']._result,"task":res['task']})
#logger.info(resp) logger.info(resp)
answer.append({"host":res['ip'], "result":res['result']._result,"task":res['task']}) answer.append({"host":res['ip'], "result":res['result']._result,"task":res['task']})
unreachable = results_callback.host_unreachable unreachable = results_callback.host_unreachable
for res in unreachable: for res in unreachable:
#failed_tasks.append(res['task']) failed_tasks.append(res['task'])
resp = json.dumps({"host":res['ip'], "result":res['result']._result,"task":res['task']}) resp = json.dumps({"host":res['ip'], "result":res['result']._result,"task":res['task']})
logger.info(resp) logger.info(resp)
answer.append({"host":res['ip'], "result":res['result']._result,"task":res['task']}) answer.append({"host":res['ip'], "result":res['result']._result,"task":res['task']})
host_failed = results_callback.host_failed host_failed = results_callback.host_failed
for res in host_failed: for res in host_failed:
#failed_tasks.append(res['result'])
resp = json.dumps({"host":res['ip'], "result":res['result']._result, "task":res['task']}) resp = json.dumps({"host":res['ip'], "result":res['result']._result, "task":res['task']})
#logger.info(resp) logger.info(resp)
answer.append({"host":res['ip'], "result":res['result']._result,"task":res['task']}) answer.append({"host":res['ip'], "result":res['result']._result,"task":res['task']})
if failed_tasks: if failed_tasks:
run_faied(failed_tasks,inventory,variable_manager,loader,options,passwords,results_callback,playbook_path) create_faied_playbooks(failed_tasks,inventory,variable_manager,loader,options,passwords,results_callback,playbook_path)
return json.dumps(answer) return json.dumps(answer)
def run(vm_list,playbook_path,rabbitmq_host,owner): def run(vm_list,playbook_path,rabbitmq_host,owner):
#Create /playbook.retry
hosts="" hosts=""
ssh_key_file="" ssh_key_file=""
rabbit = DRIPLoggingHandler(host=rabbitmq_host, port=5672,user=owner) rabbit = DRIPLoggingHandler(host=rabbitmq_host, port=5672,user=owner)
...@@ -207,6 +213,8 @@ def run(vm_list,playbook_path,rabbitmq_host,owner): ...@@ -207,6 +213,8 @@ def run(vm_list,playbook_path,rabbitmq_host,owner):
return_dict = manager.dict() return_dict = manager.dict()
jobs = [] jobs = []
if os.path.exists(falied_playbook):
os.remove(falied_playbook)
for vm in vm_list: for vm in vm_list:
#ret = install_prerequisites(vm,return_dict) #ret = install_prerequisites(vm,return_dict)
...@@ -224,4 +232,13 @@ def run(vm_list,playbook_path,rabbitmq_host,owner): ...@@ -224,4 +232,13 @@ def run(vm_list,playbook_path,rabbitmq_host,owner):
extra_vars = {} extra_vars = {}
passwords = {} passwords = {}
logger.info("Executing playbook: " + (playbook_path)) logger.info("Executing playbook: " + (playbook_path))
return execute_playbook(hosts,playbook_path,user,ssh_key_file,extra_vars,passwords)
\ No newline at end of file retry = 0
res = execute_playbook(hosts,playbook_path,user,ssh_key_file,extra_vars,passwords)
while os.path.exists(falied_playbook) and retry < 1:
retry+=1
logger.warning("Some tasks faield retrying: "+str(retry))
res = execute_playbook(hosts,playbook_path,user,ssh_key_file,extra_vars,passwords)
return res
\ No newline at end of file
#!/usr/bin/env python
import pika
import json
import os
import time
from vm_info import VmInfo
import docker_kubernetes
import docker_engine
import docker_swarm
import docker_compose
import docker_service
import docker_check
import control_agent
import ansible_playbook
import sys, argparse
from threading import Thread
from time import sleep
import os.path
import logging
from os.path import expanduser
hosts="localhost,"
home = expanduser("~")
playbook_path=home+"/workspace/DRIP/drip-deployer/deployer_files/1513695133139/playbook.yml"
user="vm_user"
ssh_key_file=home+"/workspace/DRIP/drip-deployer/deployer_files/1513695133139/1.txt"
extra_vars = {}
passwords = {}
ansible_playbook.execute_playbook(hosts,playbook_path,user,ssh_key_file,extra_vars,passwords)
\ No newline at end of file
...@@ -4,4 +4,4 @@ CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&medium&&http://fedcloud ...@@ -4,4 +4,4 @@ CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&medium&&http://fedcloud
CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&0#mem_large&&http://fedcloud.egi.eu/occi/compute/flavour/1.0#mem_large&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&0#mem_large&&http://fedcloud.egi.eu/occi/compute/flavour/1.0#mem_large&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu
CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&extra_large&&http://schemas.fedcloud.egi.eu/occi/infrastructure/resource_tpl#extra_large&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&extra_large&&http://schemas.fedcloud.egi.eu/occi/infrastructure/resource_tpl#extra_large&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu
CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&small&&http://fedcloud.egi.eu/occi/compute/flavour/1.0#small&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&small&&http://fedcloud.egi.eu/occi/compute/flavour/1.0#small&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu
CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&0#sym_mammoth&&http://fedcloud.egi.eu/occi/compute/flavour/1.0#sym_mammoth&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu CESNET&&https://carach5.ics.muni.cz:11443&&ubuntu 16.04&&mammoth&&http://schemas.fedcloud.egi.eu/occi/infrastructure/resource_tpl#mammoth&&http://occi.carach5.ics.muni.cz/occi/infrastructure/os_tpl#uuid_8df7ba00_8467_57aa_bf1e_05754a2a73bf_warg_default_shared_219&&ubuntu
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment