<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Class: CondorCloud::DefaultExecutor</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" /> <script type="text/javascript"> // <![CDATA[ function popupCode( url ) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } function toggleCode( id ) { if ( document.getElementById ) elem = document.getElementById( id ); else if ( document.all ) elem = eval( "document.all." + id ); else return false; elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else { elemStyle.display = "none" } return true; } // Make codeblocks hidden by default document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" ) // ]]> </script> </head> <body> <div id="classHeader"> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Class</strong></td> <td class="class-name-in-header">CondorCloud::DefaultExecutor</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> <a href="../../files/lib/deltacloud/drivers/condor/condor_client_rb.html"> lib/deltacloud/drivers/condor/condor_client.rb </a> <br /> </td> </tr> <tr class="top-aligned-row"> <td><strong>Parent:</strong></td> <td> Object </td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> </div> <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> <a href="#M000071">destroy_instance</a> <a href="#M000072">hardware_profiles</a> <a href="#M000069">images</a> <a href="#M000068">instances</a> <a href="#M000070">launch_instance</a> <a href="#M000067">load_config!</a> <a href="#M000066">new</a> </div> </div> </div> <!-- if includes --> <div id="section"> <div id="constants-list"> <h3 class="section-bar">Constants</h3> <div class="name-list"> <table summary="Constants"> <tr class="top-aligned-row context-row"> <td class="context-item-name">CONDOR_Q_CMD</td> <td>=</td> <td class="context-item-value">ENV['CONDOR_Q_CMD'] || "condor_q"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">CONDOR_RM_CMD</td> <td>=</td> <td class="context-item-value">ENV['CONDOR_RM_CMD'] || "condor_rm"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">CONDOR_SUBMIT_CMD</td> <td>=</td> <td class="context-item-value">ENV['CONDOR_SUBMIT_CMD'] || 'condor_submit'</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">CONDOR_CONFIG</td> <td>=</td> <td class="context-item-value">ENV['CONDOR_CONFIG'] || 'config/condor.yaml'</td> <td width="3em"> </td> <td class="context-item-desc"> This directory needs to be readable for user running <a href="../Deltacloud.html">Deltacloud</a> API </td> </tr> </table> </div> </div> <div id="attribute-list"> <h3 class="section-bar">Attributes</h3> <div class="name-list"> <table> <tr class="top-aligned-row context-row"> <td class="context-item-name">config</td> <td class="context-item-value"> [R] </td> <td class="context-item-desc"></td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">ip_agent</td> <td class="context-item-value"> [RW] </td> <td class="context-item-desc"></td> </tr> </table> </div> </div> <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Class methods</h3> <div id="method-M000066" class="method-detail"> <a name="M000066"></a> <div class="method-heading"> <a href="DefaultExecutor.src/M000066.html" target="Code" class="method-signature" onclick="popupCode('DefaultExecutor.src/M000066.html');return false;"> <span class="method-name">new</span><span class="method-args">(opts={}) {|self if block_given?| ...}</span> </a> </div> <div class="method-description"> <p> You can use your own IP agent using :ip_agent option. <a href="IPAgent.html">IPAgent</a> should have parent class set to ‘<a href="IPAgent.html">IPAgent</a>’ and implement all methods from this class. You can pass options to ip_agent using :ip_agent_args hash. </p> </div> </div> <h3 class="section-bar">Public Instance methods</h3> <div id="method-M000071" class="method-detail"> <a name="M000071"></a> <div class="method-heading"> <a href="DefaultExecutor.src/M000071.html" target="Code" class="method-signature" onclick="popupCode('DefaultExecutor.src/M000071.html');return false;"> <span class="method-name">destroy_instance</span><span class="method-args">(instance_id)</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000072" class="method-detail"> <a name="M000072"></a> <div class="method-heading"> <a href="DefaultExecutor.src/M000072.html" target="Code" class="method-signature" onclick="popupCode('DefaultExecutor.src/M000072.html');return false;"> <span class="method-name">hardware_profiles</span><span class="method-args">(opts={})</span> </a> </div> <div class="method-description"> <p> List hardware profiles available for Condor. Basically those profiles are static ‘small’, ‘medium’ and ‘large‘ </p> <p> Defined as: </p> <pre> when { :memory => '512', :cpus => '1' } then 'small' when { :memory => '1024', :cpus => '2' } then 'medium' when { :memory => '2047', :cpus => '4' } then 'large' </pre> <p> @opts - You can filter <a href="DefaultExecutor.html#M000072">hardware_profiles</a> using :id </p> </div> </div> <div id="method-M000069" class="method-detail"> <a name="M000069"></a> <div class="method-heading"> <a href="DefaultExecutor.src/M000069.html" target="Code" class="method-signature" onclick="popupCode('DefaultExecutor.src/M000069.html');return false;"> <span class="method-name">images</span><span class="method-args">(opts={})</span> </a> </div> <div class="method-description"> <p> List all files in ENV[‘STORAGE_DIRECTORY’] or fallback to ’/home/cloud/images’ Convert files to <a href="../Image.html">CondorCloud::Image</a> class </p> <p> @opts - This <a href="../Hash.html">Hash</a> can be used for filtering <a href="DefaultExecutor.html#M000069">images</a> using :id => ‘SHA1 of name‘ </p> </div> </div> <div id="method-M000068" class="method-detail"> <a name="M000068"></a> <div class="method-heading"> <a href="DefaultExecutor.src/M000068.html" target="Code" class="method-signature" onclick="popupCode('DefaultExecutor.src/M000068.html');return false;"> <span class="method-name">instances</span><span class="method-args">(opts={})</span> </a> </div> <div class="method-description"> <p> List <a href="DefaultExecutor.html#M000068">instances</a> using ENV[‘CONDOR_Q_CMD’] command. Retrieve XML from this command and parse it using Nokogiri. Then this XML is converted to <a href="../Instance.html">CondorCloud::Instance</a> class </p> <p> @opts - This <a href="../Hash.html">Hash</a> can be used for filtering <a href="DefaultExecutor.html#M000068">instances</a> using :id => ‘instance_id‘ </p> </div> </div> <div id="method-M000070" class="method-detail"> <a name="M000070"></a> <div class="method-heading"> <a href="DefaultExecutor.src/M000070.html" target="Code" class="method-signature" onclick="popupCode('DefaultExecutor.src/M000070.html');return false;"> <span class="method-name">launch_instance</span><span class="method-args">(image, hardware_profile, opts={})</span> </a> </div> <div class="method-description"> <p> Launch a <a href="DefaultExecutor.html#M000066">new</a> instance in Condor cloud using ENV[‘CONDOR_SUBMIT_CMD’]. Return <a href="../Instance.html">CondorCloud::Instance</a>. </p> <p> @image - Expecting <a href="../Image.html">CondorCloud::Image</a> here @hardware_profile - Expecting CondorCloud::HardwareProfile here </p> <p> @opts - You can specify additional parameters like :name here </p> <pre> You can set additional parameters for libvirt using :user_data specified in JSON format. Parameters are: { 'bridge_dev' : 'br0' } { 'smbios' : 'sysinfo' } { 'vnc_port' : '5900' } { 'vnc_ip' : '0.0.0.0' } { 'features' : ['acpi', 'apic', 'pae'] } { 'sysinfo' : { 'bios_vendor' : 'Lenovo', 'system_manufacturer' : 'Virt', 'system_vendor' : 'IBM' } } Of course you can combine them as you want, like (:user_data => "{ 'bridge_dev' : 'br0', 'vnc_ip' : 127.0.0.1 }") </pre> </div> </div> <div id="method-M000067" class="method-detail"> <a name="M000067"></a> <div class="method-heading"> <a href="DefaultExecutor.src/M000067.html" target="Code" class="method-signature" onclick="popupCode('DefaultExecutor.src/M000067.html');return false;"> <span class="method-name">load_config!</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> </div> </div> <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> </div> </body> </html>