[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-API] VM.start_on returns VM_HVM_REQUIRED


  • To: chris snow <chsnow123@xxxxxxxxx>
  • From: Rob Hoes <Rob.Hoes@xxxxxxxxxx>
  • Date: Fri, 4 Apr 2014 13:32:06 +0000
  • Accept-language: en-GB, en-US
  • Cc: "xen-api@xxxxxxxxxxxxxxxxxxx" <xen-api@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Fri, 04 Apr 2014 13:32:25 +0000
  • List-id: User and development list for XCP and XAPI <xen-api.lists.xen.org>
  • Thread-index: AQHPT5QQg9TnmMk/wUOoXSOKuz04q5sAaQ0AgAAE7ICAAAGogIAABT0AgADRAACAAAqUAIAAA2WA
  • Thread-topic: [Xen-API] VM.start_on returns VM_HVM_REQUIRED

That may work indeed (if you'd spell “pygrub” correctly :) ).

Cheers,
Rob

On 4 Apr 2014, at 14:19, chris snow <chsnow123@xxxxxxxxx> wrote:

> Hi Rob,
> 
> Thanks for the info!!
> 
> The installation ISO is Ubuntu 12.04.4 [1] - which I believe has a 3.2
> linux kenel, so should be PVOPS enabled?
> 
> I'm not sure I'll be able to use 'xe vm-param-set' because Cloudstack
> detects the failure to start the instance and seems to delete it.
> Instead of vm-param-set, I should be able to reach the same goal if I
> try to alter the VM.create XMLRPC commands sent from Cloudstack?
> 
> From:
>                    ...
>                   <member>
>                        <name>HVM_boot_policy</name>
>                        <value>BIOS order</value>
>                    </member>
>                    ...
>                    <member>
>                        <name>HVM_boot_params</name>
>                        <value>
>                            <struct>
>                                <member>
>                                    <name>order</name>
>                                    <value>dc</value>
>                                </member>
>                            </struct>
>                        </value>
>                    </member>
>                    ...
>                    <member>
>                        <name>PV_bootloader</name>
>                        <value></value>
>                    </member>
>                    ...
> To
> 
>                    <member>
>                        <name>HVM_boot_policy</name>
>                        <value></value>
>                    </member>
>                    ...
>                    <member>
>                        <name>HVM_boot_params</name>
>                        <value></value>
>                    </member>
>                    ...
>                    <member>
>                        <name>PV_bootloader</name>
>                        <value>pgrub</value>
>                    </member>
> 
> Many thanks,
> 
> Chris
> 
> ---
> [1] http://releases.ubuntu.com/12.04/ubuntu-12.04.4-server-i386.iso
> 
> On Fri, Apr 4, 2014 at 1:42 PM, Rob Hoes <Rob.Hoes@xxxxxxxxxx> wrote:
>> Hello Chris,
>> 
>> If you have created your VM from the "Other install media" template, then
>> XenServer will boot it as an HVM guest.
>> 
>> This is governed by the following parameters on your VM:
>> 
>>              HVM-boot-policy ( RW): BIOS order
>>              HVM-boot-params (MRW): order: dc
>>        HVM-shadow-multiplier ( RW): 1.000
>>                    PV-kernel ( RW):
>>                   PV-ramdisk ( RW):
>>                      PV-args ( RW):
>>               PV-legacy-args ( RW):
>>                PV-bootloader ( RW):
>>           PV-bootloader-args ( RW):
>> 
>> Try using 'xe vm-param-set' to clear the HVM-boot-policy and HVM-boot-params
>> keys, and set PV-bootloader to "pygrub".
>> 
>> Now, this would only work if the kernel of your guest is a PVOPS one (3.x),
>> or specially compiled for Xen, which may not be the case.
>> 
>> Cheers,
>> Rob
>> 
>> On 4 Apr 2014, at 01:14, chris snow <chsnow123@xxxxxxxxx> wrote:
>> 
>> The guest vm is non-hvm and the host is non-hvm, so viridian=true should be
>> OK?  Also, other guest vms are running fine with viridian=true.
>> 
>> Many thanks,
>> 
>> Chris
>> 
>> On 4 Apr 2014 00:55, "David Bomba" <turbo124@xxxxxxxxx> wrote:
>>> 
>>> Ok, so from my understanding, you can't run a HVM guest with VIRIDIAN set
>>> to true.
>>> 
>>> Can you use the xe vm-param-set functionality to switch Viridian to false
>>> and try again.
>>> 
>>> 
>>> 
>>> 
>>> On 4 April 2014 10:49, chris snow <chsnow123@xxxxxxxxx> wrote:
>>>> 
>>>> Hi David,
>>>> 
>>>> xe vm-param-list output:
>>>> 
>>>>                    name-label ( RW): i-2-19-VM
>>>>              name-description ( RW): Template which allows VM
>>>> installation from install media
>>>>                  user-version ( RW): 1
>>>>                 is-a-template ( RW): false
>>>>                 is-a-snapshot ( RO): false
>>>>                   snapshot-of ( RO): <not in database>
>>>>                     snapshots ( RO):
>>>>                 snapshot-time ( RO): 19700101T00:00:00Z
>>>>                 snapshot-info ( RO):
>>>>                        parent ( RO): <not in database>
>>>>                      children ( RO):
>>>>             is-control-domain ( RO): false
>>>>                   power-state ( RO): halted
>>>>                 memory-actual ( RO): 0
>>>>                 memory-target ( RO): 0
>>>>               memory-overhead ( RO): 4194304
>>>>             memory-static-max ( RW): 104857600
>>>>            memory-dynamic-max ( RW): 104857600
>>>>            memory-dynamic-min ( RW): 104857600
>>>>             memory-static-min ( RW): 104857600
>>>>              suspend-VDI-uuid ( RW): <not in database>
>>>>               suspend-SR-uuid ( RW): <not in database>
>>>>                  VCPUs-params (MRW): weight: 9; cap: 0
>>>>                     VCPUs-max ( RW): 1
>>>>              VCPUs-at-startup ( RW): 1
>>>>        actions-after-shutdown ( RW): Destroy
>>>>          actions-after-reboot ( RW): Restart
>>>>           actions-after-crash ( RW): Destroy
>>>>                 console-uuids (SRO):
>>>>                      platform (MRW): viridian: true; acpi: true;
>>>> apic: true; pae: true; nx: false
>>>>            allowed-operations (SRO): changing_dynamic_range;
>>>> changing_shadow_memory; changing_static_range; make_into_template;
>>>> destroy; export; start_on; start; clone; copy; snapshot
>>>>            current-operations (SRO):
>>>>            blocked-operations (MRW):
>>>>           allowed-VBD-devices (SRO): 1; 2; 3
>>>>           allowed-VIF-devices (SRO): 0; 1; 2; 3
>>>>                possible-hosts ( RO):
>>>>               HVM-boot-policy ( RW): BIOS order
>>>>               HVM-boot-params (MRW): order: dc
>>>>         HVM-shadow-multiplier ( RW): 1.000
>>>>                     PV-kernel ( RW):
>>>>                    PV-ramdisk ( RW):
>>>>                       PV-args ( RW):
>>>>                PV-legacy-args ( RW):
>>>>                 PV-bootloader ( RW):
>>>>            PV-bootloader-args ( RW):
>>>>           last-boot-CPU-flags ( RO):
>>>>              last-boot-record ( RO): ''
>>>>                   resident-on ( RO): <not in database>
>>>>                      affinity ( RW):
>>>> c47d712e-8aa8-fcd6-113e-8546532e5fcc
>>>>                  other-config (MRW): mac_seed:
>>>> b2088266-d6fd-dfd2-4b5e-84c037d085d6; install-methods: cdrom
>>>>                        dom-id ( RO): -1
>>>>               recommendations ( RO): <restrictions><restriction
>>>> field="memory-static-max" max="137438953472" /><restriction
>>>> field="vcpus-max" max="16" /><restriction property="number-of-vbds"
>>>> max="7" /><restriction property="number-of-vifs" max="7"
>>>> /></restrictions>
>>>>                 xenstore-data (MRW):
>>>>    ha-always-run ( RW) [DEPRECATED]: false
>>>>           ha-restart-priority ( RW):
>>>>                         blobs ( RO):
>>>>                    start-time ( RO): 19700101T00:00:00Z
>>>>                  install-time ( RO): 19700101T00:00:00Z
>>>>                  VCPUs-number ( RO): 0
>>>>             VCPUs-utilisation (MRO):
>>>>                    os-version (MRO): <not in database>
>>>>            PV-drivers-version (MRO): <not in database>
>>>>         PV-drivers-up-to-date ( RO): <not in database>
>>>>                        memory (MRO): <not in database>
>>>>                         disks (MRO): <not in database>
>>>>                      networks (MRO): <not in database>
>>>>                         other (MRO): <not in database>
>>>>                          live ( RO): <not in database>
>>>>    guest-metrics-last-updated ( RO): <not in database>
>>>>                   cooperative ( RO): true
>>>>             protection-policy ( RW): <not in database>
>>>>         is-snapshot-from-vmpp ( RO): false
>>>>                          tags (SRW):
>>>>                     appliance ( RW): <not in database>
>>>>                   start-delay ( RW): 0
>>>>                shutdown-delay ( RW): 0
>>>>                         order ( RW): 0
>>>>                       version ( RO): 0
>>>> 
>>>> On Fri, Apr 4, 2014 at 12:31 AM, David Bomba <turbo124@xxxxxxxxx> wrote:
>>>>> Hi Chris,
>>>>> 
>>>>> are you able to go to the cli and retrieve the param-list for this VM?
>>>>> i
>>>>> think this may be due to VIRIDIAN flag being set to true.
>>>>> 
>>>>> xe vm-param-list uuid=<uuid of vm>
>>>>> 
>>>>> 
>>>>> On 4 April 2014 10:21, chris snow <chsnow123@xxxxxxxxx> wrote:
>>>>>> 
>>>>>> I have debian wheezy running xen host inside a virtualbox guest, so
>>>>>> the xen host doesn't have HVM.
>>>>>> 
>>>>>> I am using a third party application (cloudstack) communicating with
>>>>>> xen using xapi.   I'm trying to create a VM using Ubuntu 12.04
>>>>>> installation ISO [1], but have set the OS type to 'Other (32 bit) so
>>>>>> that xen would not use HVM, but I receive the error VM_HVM_REQUIRED.
>>>>>> 
>>>>>> I have captured the VM.create request here:
>>>>>> https://gist.github.com/snowch/9957480 and also the VM.start_on
>>>>>> response here: https://gist.github.com/snowch/9957480
>>>>>> 
>>>>>> I had originally posted this question to the cloudstack mailing list,
>>>>>> but I now think the question is more relevant to this list because it
>>>>>> is actually a question about the xen api.
>>>>>> 
>>>>>> Question 1:
>>>>>> 
>>>>>> Is my understanding correct that I should be able to create a VM on a
>>>>>> non HVM Xen host using the Ubuntu install ISO?
>>>>>> 
>>>>>> Question 2:
>>>>>> 
>>>>>> If the answer to Q1 is 'yes', is there anything that stands out in the
>>>>>> VM.start request that is telling Xen that the vm must have HVM support
>>>>>> which is then telling xen to fail the request?   It seems that
>>>>>> somewhere in the xapi call stack for VM.start_on, the method
>>>>>> VM.get_HVM_boot_policy is getting called and returning that hvm is
>>>>>> required.
>>>>>> 
>>>>>> Many thanks!
>>>>>> 
>>>>>> Chris
>>>>>> 
>>>>>> ---
>>>>>> [1] http://releases.ubuntu.com/12.04/ubuntu-12.04.4-server-i386.iso
>>>>>> [2]
>>>>>> 
>>>>>> https://github.com/xapi-project/xen-api/blob/master/ocaml/xapi/xapi_vm_helpers.ml#L488
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Xen-api mailing list
>>>>>> Xen-api@xxxxxxxxxxxxx
>>>>>> http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Check out my professional profile and connect with me on LinkedIn.
>>>> http://lnkd.in/cw5k69
>>>> 
>>>> _______________________________________________
>>>> Xen-api mailing list
>>>> Xen-api@xxxxxxxxxxxxx
>>>> http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
>>> 
>>> 
>> _______________________________________________
>> Xen-api mailing list
>> Xen-api@xxxxxxxxxxxxx
>> http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
>> 
>> 
> 
> 
> 
> -- 
> Check out my professional profile and connect with me on LinkedIn.
> http://lnkd.in/cw5k69


_______________________________________________
Xen-api mailing list
Xen-api@xxxxxxxxxxxxx
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.