Ejemplo n.º 1
0
/**
 * start a vm
 *
 * @api
 *
 * @param   int $vm_id vm id
 *
 * @return  bool                on success TRUE/FALSE
 */
function ace_vm_activate($vm_id)
{
    $lab_id = ace_db_vm_get_lab_id($vm_id);
    $lab_active = ace_db_lab_get_state($lab_id);
    if ($lab_active) {
        $network_ids_to_toggle = array();
        $vm_nics = ace_vm_get_nic_table($vm_id);
        if (is_array($vm_nics)) {
            foreach ($vm_nics as $vm_nic) {
                if (!ace_network_is_active($vm_nic['network_id'])) {
                    $network_ids_to_toggle[] = $vm_nic['network_id'];
                }
            }
        }
        if (is_array($network_ids_to_toggle)) {
            # start all associated inactive networks
            foreach ($network_ids_to_toggle as $network_id) {
                ace_network_activate($network_id);
            }
        }
        # start the vm
        if (ace_virt_vm_activate($vm_id)) {
            $db_success = ace_db_vm_activate($vm_id);
            $return = $db_success;
        } else {
            $return = FALSE;
        }
        if (is_array($network_ids_to_toggle)) {
            # stop all associated inactive networks
            foreach ($network_ids_to_toggle as $network_id) {
                ace_network_deactivate($network_id);
            }
        }
    } else {
        $db_success = ace_db_vm_activate($vm_id);
        $return = $db_success;
    }
    return $return;
}
Ejemplo n.º 2
0
         $db_success = ace_vm_activate($vm_id);
         $vm['state'] = 1;
         $vm_active = TRUE;
     }
 }
 $vm_change_state_disabled = $lab_state ? '' : 'disabled';
 $vm_shutdown_button_disabled = $vm_active ? '' : 'disabled';
 $vm_console_disabled = $lab_state ? '' : 'disabled';
 $num_vm_cdroms = ($vm_cdroms = ace_vm_get_cdrom_table($vm_id)) ? count($vm_cdroms) : 0;
 $vm_cdrom_attach_disabled = $vm_active ? 'disabled' : '';
 $vm_cdrom_detach_disabled = $num_vm_cdroms == 0 || $vm_active ? 'disabled' : '';
 $vm_cdrom_eject_disabled = $num_vm_cdroms == 0 ? 'disabled' : '';
 $num_vm_disks = ($vm_disks = ace_vm_get_disk_table($vm_id)) ? count($vm_disks) : 0;
 $vm_disk_attach_disabled = $vm_active ? 'disabled' : '';
 $vm_disk_detach_disabled = $num_vm_disks == 0 || $vm_active ? 'disabled' : '';
 $num_vm_nics = ($vm_nics = ace_vm_get_nic_table($vm_id)) ? count($vm_nics) : 0;
 $vm_nic_attach_disabled = $vm_active ? 'disabled' : '';
 $vm_nic_detach_disabled = $num_vm_nics == 0 || $vm_active ? 'disabled' : '';
 $vm_nic_disconnect_disabled = $num_vm_nics == 0 ? 'disabled' : '';
 $vm_state = $vm['state'] == 1 ? TRUE : FALSE;
 $vm_snapshots = ace_vm_get_snapshot_list($vm_id);
 $num_vm_snapshots = $vm_snapshots ? count($vm_snapshots) : 0;
 $vm_snapshot_button_disabled = !$lab_state || $virt_vm_active ? 'disabled' : '';
 $vm_snapshot_revert_button_disabled = $num_vm_snapshots == 0 || $virt_vm_active || !$lab_state ? 'disabled' : '';
 $vm_snapshot_delete_button_disabled = $num_vm_snapshots == 0 || $virt_vm_active || !$lab_state ? 'disabled' : '';
 $html_vm_cdrom_radios = NULL;
 foreach ($vm_cdroms as $vm_cdrom) {
     $html_vm_cdrom_radios .= '<input name="vm_cdrom_instance" value="' . $vm_cdrom['instance'] . '" type="radio" />';
     $html_vm_cdrom_radios .= 'cd' . $vm_cdrom['instance'];
     $volume_display_name = ace_volume_get_display_name_by_id($vm_cdrom['volume_id']);
     $html_vm_cdrom_radios .= ' : ' . $volume_display_name . '<br/>';