From 35409e6c3a6b5e0446c3c99c767808fbfd928088 Mon Sep 17 00:00:00 2001 From: Kushal Das Date: Nov 17 2015 15:02:17 +0000 Subject: Fixes issue #4. --- diff --git a/src/controller/controller.go b/src/controller/controller.go index 034d49c..3c95338 100644 --- a/src/controller/controller.go +++ b/src/controller/controller.go @@ -102,11 +102,18 @@ func save_instance_details(job redis_op.Job, instance_name string) { /* To go through all steps and start an instance.*/ func Start_instance(cpu, ram int, image_path, instance_name string) { instance_path := fmt.Sprintf("/var/lib/libvirt/images/%s.qcow2", instance_name) + redis_op.Hset("instances",instance_name, "Creating storage.") storage_flag := computer.Setup_storage_instance(image_path, instance_name, "/var/lib/libvirt/images/", "10G", "/dev/sda1") if !storage_flag { + redis_op.Hset("instances",instance_name, "Creating storage failed.") return } time.Sleep(10) - computer.Setup_instance(instance_name, instance_path, strconv.Itoa(ram), strconv.Itoa(cpu)) - + redis_op.Hset("instances",instance_name, "Going to boot the instance.") + boot_flag := computer.Setup_instance(instance_name, instance_path, strconv.Itoa(ram), strconv.Itoa(cpu)) + if !boot_flag { + redis_op.Hset("instances",instance_name, "Booting failed.") + return + } + redis_op.Hset("instances",instance_name, "Instance is running.") }