Try adding to your VBD the attribute 'bootable' and set it to true. 

   Stefan

[EMAIL PROTECTED] wrote on 10/12/2007 02:32:30 AM:

> Hi,
> 
> I'm trying to start a hvm with xen-api (xmlrpc) with a PHP script.
> We are using Xen 3.1. To connect to the api I use the Zend Framework.
> 
> We are getting this error:
> Had a bootloader specified, but no disks are bootable
> 
> This is my Sourcecode:
> 
> <?php
> include_once('/home/ZendFramework/library/Zend/XmlRpc/Client.php');
> echo "<pre>";
>      $oClient = new Zend_XmlRpc_Client("https://xenent01.olb.de:9363/";);
>    $aSession_id = 
> $oClient->call('session.login_with_password',array("user","pass"));
>    $sSession_id = $aSession_id['Value'];
> 
>    $aVM_cfg = array(
>        "name_label"=> "windows20",
>        "user_version"=> 1,
>        "is_a_template"=> false,
>        "auto_power_on"=> false,
>              "memory_static_min" => 512 * 1024 * 1024,
>        "memory_static_max" => 512 * 1024 * 1024,
>        "memory_dynamic_min" => 512 * 1024 * 1024,
>        "memory_dynamic_max" => 512 * 1024 * 1024,
>              "VCPUs_policy" => "credit",
>        "VCPUs_params" => array(),
>        "VCPUs_number" => 1,
>              "actions_after_shutdown" => "destroy",
>        "actions_after_reboot" => "restart",
>        "actions_after_crash" => "restart",
>              'PV_bootloader' => 'PV_bootloader',
>        'PV_bootloader_args' => '',
>              'PV_kernel' => '/usr/lib/xen/boot/hvmloader',
>        'PV_ramdisk' => '',
>        'PV_args' => '',
>              "HVM_boot" => "hda",
>        "platform_std_VGA" => false,
>        "platform_serial" => "",
>        "platform_localtime" => false,
>        "platform_clock_offset" => false,
>        "platform_enable_audio" => false,
>        "PCI_bus"=> ""
>    );
> 
>    $aVDI_cfg = array(
>        "name_label" => "debian.vm",
>        "name_description" => "",
>        "virtual_size" => 4 * 1024 * 1024 * 1024,
>        "type" => "system",
>        "parent" => "",
>        "SR_name" => "Local",
>        "sharable" => False,
>        "read_only" => False,
>        "other_config" => array("location" => 
> "file:/xen/doms/windows/windows.img"),
>    );       $aVBD_cfg = array(
>        "VDI" => "",
>        "VM" => "",
>        "device" => "hda",
>        "mode" => "RW",
>        "type" => "disk",
>        "driver" => "ioemu",
>    );
>        $aVIF_cfg = array(
>        "name" => "debian_VIF",
>        "type" => "paravirtualised",
>        "device" => "",
>        "network" => "",
>        "MAC" => "",
>        "MTU" => 1500,
>    );
>      $aConsole_cfg = array(
>        "protocol" => "rfb",
>        "other_config" => array("vncunused" => 1,"vncpasswd" => 
"backofen"),
>    );
>      # Get default SR
>    $aSR_id = $oClient->call('SR.get_by_name_label',array($sSession_id, 
> $aVDI_cfg['SR_name']));
>    print_r($aSR_id);
>    $sSR_id = $aSR_id['Value'][0];
>      # Get default network
>    $aNet_id = $oClient->call('network.get_all',array($sSession_id,));
>    print_r($aNet_id);
>    $sNet_id = $aNet_id['Value'][0];
>      # Create a new VM
>    $aVM_id = $oClient->call('VM.create',array($sSession_id, $aVM_cfg));
>    print_r($aVM_id);
>    $sVM_id = $aVM_id['Value'];
>    echo "$sVM_id <br>";
>      # Create a new VDI
>    $aVDI_cfg['SR'] = $sSR_id;
>    $aVDI_id = $oClient->call('VDI.create',array($sSession_id, 
$aVDI_cfg));
>    print_r($aVDI_id);
>    $sVDI_id = $aVDI_id['Value'];
>     echo "$sVDI_id <br>";
>      # Create a new VBD
>    $aVBD_cfg['VM'] = $sVM_id;
>    $aVBD_cfg['VDI'] = $sVDI_id;
>    $aVBD_id = $oClient->call('VBD.create',array($sSession_id, 
$aVBD_cfg));
>    print_r($aVBD_id);
>    $sVBD_id = $aVBD_id['Value'];
>    echo "$sVBD_id <br>";
>    /*
>    # Create a new VIF
>    $aVIF_cfg['VM'] = $sVM_id;
>    $aVIF_cfg['network'] = $sNet_id;
>    $aVIF_id = $oClient->call('VIF.create',array($sSession_id, 
$aVIF_cfg));
>    print_r($aVIF_id);
>    $sVIF_id = $aVIF_id['Value'];
>    echo "$sVIF_id <br>";
>    */
>    # Create a new Console
>    $aConsole_cfg['VM'] = $sVM_id;
>    $aConsole_id = $oClient->call('console.create',array($sSession_id, 
> $aConsole_cfg));
>    print_r($aConsole_id);
>    $sConsole_id = $aConsole_id['Value'];
>    echo "$sConsole_id <br>";
>      # Start the VM
> print_r($oClient->call('VM.start',array($sSession_id,$sVM_id,false)));
>   echo "</pre>";
> ?>
> 
> 
> What is wrong? Can anybody help me?
> 
> André
> 
> -- 
> Oldenburgische Landesbank AG
> 
> Vorsitzender des Aufsichtsrates: Dr. Andreas Georgi
> Vorstand:  Dr. Jörg Bleckmann, Sprecher
>           Dr. Stefan Friedmann
>           Dr. Peter Schinzing
>           Bernd Span
> Sitz der Gesellschaft: Oldenburg (Oldb)
> Registergericht: Oldenburg (Oldb)
> HR-Nummer: HRB 3003
> 
> 
> -- 
> Oldenburgische Landesbank AG
> 
> Vorsitzender des Aufsichtsrates: Dr. Andreas Georgi
> Vorstand:  Dr. Jörg Bleckmann, Sprecher
>            Dr. Stefan Friedmann
>            Dr. Peter Schinzing
>            Bernd Span
> Sitz der Gesellschaft: Oldenburg (Oldb)
> Registergericht: Oldenburg (Oldb)
> HR-Nummer: HRB 3003
> 
> 
> 
> _______________________________________________
> xen-api mailing list
> [email protected]
> http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-api
_______________________________________________
xen-api mailing list
[email protected]
http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-api

Reply via email to