Class CondorCloud::DefaultExecutor
In: lib/deltacloud/drivers/condor/condor_client.rb
Parent: Object

Methods

Constants

CONDOR_Q_CMD = ENV['CONDOR_Q_CMD'] || "condor_q"
CONDOR_RM_CMD = ENV['CONDOR_RM_CMD'] || "condor_rm"
CONDOR_SUBMIT_CMD = ENV['CONDOR_SUBMIT_CMD'] || 'condor_submit'
CONDOR_CONFIG = ENV['CONDOR_CONFIG'] || 'config/condor.yaml'   This directory needs to be readable for user running Deltacloud API

Attributes

config  [R] 
ip_agent  [RW] 

Public Class methods

You can use your own IP agent using :ip_agent option. IPAgent should have parent class set to ‘IPAgent’ and implement all methods from this class. You can pass options to ip_agent using :ip_agent_args hash.

Public Instance methods

List hardware profiles available for Condor. Basically those profiles are static ‘small’, ‘medium’ and ‘large‘

Defined as:

   when { :memory => '512', :cpus => '1' } then 'small'
   when { :memory => '1024', :cpus => '2' } then 'medium'
   when { :memory => '2047', :cpus => '4' } then 'large'

@opts - You can filter hardware_profiles using :id

List all files in ENV[‘STORAGE_DIRECTORY’] or fallback to ’/home/cloud/images’ Convert files to CondorCloud::Image class

@opts - This Hash can be used for filtering images using :id => ‘SHA1 of name‘

List instances using ENV[‘CONDOR_Q_CMD’] command. Retrieve XML from this command and parse it using Nokogiri. Then this XML is converted to CondorCloud::Instance class

@opts - This Hash can be used for filtering instances using :id => ‘instance_id‘

Launch a new instance in Condor cloud using ENV[‘CONDOR_SUBMIT_CMD’]. Return CondorCloud::Instance.

@image - Expecting CondorCloud::Image here @hardware_profile - Expecting CondorCloud::HardwareProfile here

@opts - You can specify additional parameters like :name here

        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 }")

[Validate]