--- src/task-omatic/taskomatic_instance.rb | 23 ++++++++++++++++++----- 1 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/src/task-omatic/taskomatic_instance.rb b/src/task-omatic/taskomatic_instance.rb index 6899997..dcb9e6b 100644 --- a/src/task-omatic/taskomatic_instance.rb +++ b/src/task-omatic/taskomatic_instance.rb @@ -18,6 +18,19 @@
require 'taskomatic_task'
+def dcloud_to_instance_state(state_str) + case state_str + when 'PENDING' + return InstanceTask::STATE_PENDING + when 'RUNNING' + return InstanceTask::STATE_RUNNING + when 'STOPPED' + return InstanceTask::STATE_STOPPED + else + return InstanceTask::STATE_PENDING + end +end + # Create a new instance on a cloud. class TaskomaticInstanceCreate < TaskomaticTask
@@ -30,12 +43,12 @@ class TaskomaticInstanceCreate < TaskomaticTask client = @task.instance.portal_pool.cloud_account.connect puts "client is #{client.type}" @logger.info "Creating instance with name #{@task.instance.image.external_key}, flavor #{@task.instance.flavor.name}, realm #{@task.instance.realm.name}" - dcloud_instance = client.create_instance(@task.instance.image.external_key, - :flavor => @task.instance.flavor.name, - :realm => @task.instance.realm.name) + dcloud_instance = client.create_instance(@task.instance.image.external_key) + #:flavor => @task.instance.image.external_key, + #:realm => @task.instance.image.external_key) @logger.info "Instance created with key #{dcloud_instance.id} and state #{dcloud_instance.state}" @task.instance.external_key = dcloud_instance.id - @task.instance.state = dcloud_instance.state + @task.instance.state = dcloud_to_instance_state(dcloud_instance.state) @task.instance.save!
while dcloud_instance.state == 'PENDING' @@ -43,7 +56,7 @@ class TaskomaticInstanceCreate < TaskomaticTask sleep(5) end
- @task.instance.state = dcloud_instance.state + @task.instance.state = dcloud_to_instance_state(dcloud_instance.state) @task.instance.save!
# Instance::STATE_NEW
deltacloud-devel@lists.fedorahosted.org