def main_execution( machine_name, test_list, deps_list, machine_ram, machine_no_of_disks, machine_snap_name, machine_full_path, machine_ks_full_path, machine_iso_full_path, ssh_key, ssh_full_path, scp_copy_source): counter = 1 for inc in test_list: if (subprocess.call(["virsh list --all | grep {}".format(machine_name)], shell=True) != 0): loginst.info("Creating virtual machine - creating disk array") disk_arg = virtual_machine.create_disks( machine_no_of_disks, machine_full_path, machine_name) loginst.info("Creating virtual machine - starting installation") virtual_machine.create_machine( machine_name, machine_full_path, disk_arg, machine_iso_full_path, machine_ram, machine_ks_full_path, machine_snap_name) loginst.info("Starting virtual machine.") virtual_machine.start_machine(machine_name) loginst.info("Virtual machine started, obtaining IP address.") ip_address = virtual_machine.find_ip_address(machine_name) loginst.debug("IP address of the machine is {}".format(ip_address)) loginst.info("IP address ready, starting copying.") virtual_machine.scp_copy_files( ip_address, ssh_full_path, scp_copy_source, test_list, deps_list, False) loginst.info("Files copied, initiating test stage no {}".format(counter)) virtual_machine.initiate_test(ip_address, ssh_full_path, counter) loginst.info( "Test completed, attempting to copy TEST_RESULT_{}".format(counter)) virtual_machine.scp_copy_files( ip_address, ssh_full_path, scp_copy_source, test_list, deps_list, True) loginst.info( "Results copied, reverting machine to {}".format(machine_snap_name)) virtual_machine.revert_machine(machine_name, machine_snap_name) counter = counter + 1
ssh_full_path = "{}{}".format(conf_object['SSH']['SSHFullPath'], ssh_key) scp_copy_source = conf_object['SSH']['SCPCopySource'] ks_repo = conf_object['KICKSTART']['Repository'] ks_additionalrepo = conf_object['KICKSTART']['AdditionalRepository'] ks_keyboard = conf_object['KICKSTART']['Keyboard'] ks_timezone = conf_object['KICKSTART']['Timezone'] ks_rootpass = conf_object['KICKSTART']['RootPassword'] ## Create (if does not exist) and start the machine. test_list, deps_list = virtual_machine.get_scp_files(scp_copy_source) counter = 1 for inc in test_list: if (subprocess.call(["virsh list --all | grep {}".format(machine_name)],shell=True) == 0): virtual_machine.start_machine(machine_name) else: disk_arg = virtual_machine.create_disks(machine_no_of_disks, machine_full_path, machine_name) virtual_machine.create_machine(machine_name, machine_full_path, disk_arg, machine_iso_full_path, machine_ram, machine_ks_full_path, machine_snap_name) ip_address = virtual_machine.find_ip_address(machine_name) ## Get IP address virtual_machine.scp_copy_files(ip_address, ssh_full_path, scp_copy_source, test_list, deps_list, False) ## Copy files to machine virtual_machine.initiate_test(ip_address, ssh_full_path, counter) virtual_machine.scp_copy_files(ip_address, ssh_full_path, scp_copy_source, test_list, deps_list, True) virtual_machine.revert_machine(machine_name, machine_snap_name) ## Revert back machine counter = counter + 1