Signed-off-by: Ian Main imain@redhat.com --- src/task-omatic/taskomatic.rb | 15 ++++++++------- src/task-omatic/taskomatic_instance.rb | 27 +++++++++++++++++---------- src/task-omatic/taskomatic_task.rb | 3 ++- 3 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/src/task-omatic/taskomatic.rb b/src/task-omatic/taskomatic.rb index f09ffd3..2a5c691 100755 --- a/src/task-omatic/taskomatic.rb +++ b/src/task-omatic/taskomatic.rb @@ -44,6 +44,7 @@ class Logger end end
+puts $:.inspect
class TaskOmatic
@@ -104,8 +105,8 @@ class TaskOmatic
def mainloop()
- task = TaskomaticInstanceCreate.new(@logger) - task.run + tasko_task = TaskomaticInstanceCreate.new(@logger, nil) + tasko_task.run
loop do
@@ -138,15 +139,15 @@ class TaskOmatic begin case task.action when InstanceTask::CREATE - tasko_task = TaskomaticInstanceCreate.new(@logger) + tasko_task = TaskomaticInstanceCreate.new(@logger, task) when InstanceTask::START - tasko_task = TaskomaticInstanceStart.new(@logger) + tasko_task = TaskomaticInstanceStart.new(@logger, task) when InstanceTask::STOP - tasko_task = TaskomaticInstanceStop.new(@logger) + tasko_task = TaskomaticInstanceStop.new(@logger, task) when InstanceTask::REBOOT - tasko_task = TaskomaticInstanceReboot.new(@logger) + tasko_task = TaskomaticInstanceReboot.new(@logger, task) when InstanceTask::DESTROY - tasko_task = TaskomaticInstanceDestroy.new(@logger) + tasko_task = TaskomaticInstanceDestroy.new(@logger, task) else @logger.error "unknown task " + task.action state = Task::STATE_FAILED diff --git a/src/task-omatic/taskomatic_instance.rb b/src/task-omatic/taskomatic_instance.rb index 6f2df5f..c9d16ab 100644 --- a/src/task-omatic/taskomatic_instance.rb +++ b/src/task-omatic/taskomatic_instance.rb @@ -21,32 +21,39 @@ require 'taskomatic_task' # Create a new instance on a cloud. class TaskomaticInstanceCreate < TaskomaticTask
- def initialize(logger) - super(logger) + def initialize(logger, task) + super(logger, task) @logger.info("TaskomaticInstanceCreate created.") end
def run + client = @task.instance.portal_pool.cloud_account.connect + instance = client.create_instance(@task.instance.image.name) + @logger.info("New instance created.") end end
# Start a stopped instance on a cloud class TaskomaticInstanceStart < TaskomaticTask
- def initialize(logger) - super(logger) + def initialize(logger, task) + super(logger, task) @logger.info("TaskomaticInstanceStart created.") end
def run + client = @task.instance.portal_pool.cloud_account.connect + instance = client.instance(@task.instance.image.name) + #instance.stop + @logger.info("New instance created.") end end
# Stop an instance. class TaskomaticInstanceStop < TaskomaticTask
- def initialize(logger) - super(logger) + def initialize(logger, task) + super(logger, task) @logger.info("TaskomaticInstanceStop started.") end
@@ -57,8 +64,8 @@ end # Reboot an instance. class TaskomaticInstanceReboot < TaskomaticTask
- def initialize(logger) - super(logger) + def initialize(logger, task) + super(logger, task) @logger.info("TaskomaticInstanceReboot started.") end
@@ -69,8 +76,8 @@ end # Destroy an instance. class TaskomaticInstanceDestroy < TaskomaticTask
- def initialize(logger) - super(logger) + def initialize(logger, task) + super(logger, task) @logger.info("TaskomaticInstanceDestroy started.") end
diff --git a/src/task-omatic/taskomatic_task.rb b/src/task-omatic/taskomatic_task.rb index 0522f40..f717321 100644 --- a/src/task-omatic/taskomatic_task.rb +++ b/src/task-omatic/taskomatic_task.rb @@ -20,8 +20,9 @@ # Create a new instance on a cloud. class TaskomaticTask
- def initialize(logger) + def initialize(logger, task) @logger = logger + @task = task end
end
deltacloud-devel@lists.fedorahosted.org