--- src/task-omatic/taskomatic_instance.rb | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/src/task-omatic/taskomatic_instance.rb b/src/task-omatic/taskomatic_instance.rb index dcb9e6b..bb9fdb8 100644 --- a/src/task-omatic/taskomatic_instance.rb +++ b/src/task-omatic/taskomatic_instance.rb @@ -40,6 +40,8 @@ class TaskomaticInstanceCreate < TaskomaticTask end
def run + @logger.info("TaskomaticInstanceCreate running.") + 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}" @@ -52,8 +54,8 @@ class TaskomaticInstanceCreate < TaskomaticTask @task.instance.save!
while dcloud_instance.state == 'PENDING' - dcloud_instance = client.instance(@task.instance.external_key) sleep(5) + dcloud_instance = client.instance(@task.instance.external_key) end
@task.instance.state = dcloud_to_instance_state(dcloud_instance.state) @@ -78,10 +80,24 @@ class TaskomaticInstanceStart < TaskomaticTask end
def run + @logger.info("TaskomaticInstanceStart running.") + client = @task.instance.portal_pool.cloud_account.connect - instance = client.instance(@task.instance.image.name) - #instance.stop - @logger.info("New instance created.") + dcloud_instance = client.instance(@task.instance.external_key) + dcloud_instance.start! + + @task.instance.state = dcloud_to_instance_state(dcloud_instance.state) + @task.instance.save! + + while dcloud_instance.state == 'PENDING' + sleep(5) + dcloud_instance = client.instance(@task.instance.external_key) + end + + @task.instance.state = dcloud_to_instance_state(dcloud_instance.state) + @task.instance.save! + + @logger.info("Instance started.") end end
deltacloud-devel@lists.fedorahosted.org