← Back to team overview

openstack team mailing list archive

Re: boot from ISO

 

Hi Donal, hi all,

I'm trying to test the Boot From ISO feature. So I've set a XenServer host and installed a Ubuntu 11.10 PV DomU in it.

Then I used the following commands but, as you can see in the attached nova-compute log excerpt, there was a problem.

glance add name=fedora_iso disk_format=iso < ../Fedora-16-x86_64-Live-LXDE.iso
ID: 4
nova boot test_iso --flavor 2 --image 4

I can see the ISO images using "nova list" but not using "glance index".

The error seems to be: 'Cannot find SR of content-type ISO'. However, I've set a NFS ISO Library using XenCenter, so that there is an actual ISO content-typed SR. How to tell OpenStack to use this SR for the ISO images I post using glance?

Any clue? I feel I'm rather close to make it work.


thanks,

michaël


Michaël Van de Borne
R&D Engineer, SOA team, CETIC
Phone: +32 (0)71 49 07 45 Mobile: +32 (0)472 69 57 16, Skype: mikemowgli
www.cetic.be, rue des Frères Wright, 29/3, B-6041 Charleroi


Le 22/11/11 00:18, Donal Lafferty a écrit :

Hi Michaël,

"Boot from ISO" should be ISO image agnostic. The feature overcomes restrictions placed on the distribution of modified Windows' images. People can use their ISO instead, but they may still need to use dedicated hardware.

You should have no problem with a Linux distribution.

However, I wrote it for XenAPI, so we need someone to duplicate the work for KVM and VMWare.

DL

*From:*openstack-bounces+donal.lafferty=citrix.com@xxxxxxxxxxxxxxxxxxx [mailto:openstack-bounces+donal.lafferty=citrix.com@xxxxxxxxxxxxxxxxxxx] *On Behalf Of *Michaël Van de Borne
*Sent:* 21 November 2011 17:28
*To:* openstack@xxxxxxxxxxxxxxxxxxx
*Subject:* Re: [Openstack] boot from ISO

up? anybody?


Le 14/11/11 14:44, Michaël Van de Borne a écrit :

Hi all,

I'm very interested in the "Boot From ISO" feature described here: http://wiki.openstack.org/bootFromISO

In a few words, it's about the ability to boot a VM from the CDROM with an ISO image attached. A blank hard disk being attached to install the OS files in it.

I've got some questions about this:
1. Is the feature available today using a standard Diablo install? I've seen the code about this feature is stored under nova/tests and glance/tests. Does this mean it isn't finished yet and could only be tested under specific conditions? Which ones? 2. the spec tells about a Windows use case. Why just Windows? What should I do to test with a Linux distribution? 3. I can see here <http://bazaar.launchpad.net/%7Ehudson-openstack/nova/trunk/revision/1433?start_revid=1433> that the Xen hypervisor only has been impacted by the source code changes. Are KVM and VMWare planned to be supported in the future? May I help/be helped to develop KVM and VMWare support for this 'Boot From Iso' feature?

Any help appreaciated

thank you,


michaël



--
Michaël Van de Borne
R&D Engineer, SOA team, CETIC
Phone: +32 (0)71 49 07 45 Mobile: +32 (0)472 69 57 16, Skype: mikemowgli
www.cetic.be  <http://www.cetic.be>, rue des Frères Wright, 29/3, B-6041 Charleroi




_______________________________________________
Mailing list:https://launchpad.net/~openstack  <https://launchpad.net/%7Eopenstack>
Post to     :openstack@xxxxxxxxxxxxxxxxxxx  <mailto:openstack@xxxxxxxxxxxxxxxxxxx>
Unsubscribe :https://launchpad.net/~openstack  <https://launchpad.net/%7Eopenstack>
More help   :https://help.launchpad.net/ListHelp
2011-11-29 18:11:41,970 DEBUG nova.rpc [-] received {u'_context_roles': [], u'_context_request_id': u'180d772e-f33d-4d9d-b1bc-e8cf2235cf1d', u'_context_read_deleted': False, u'args': {u'request_spec': {u'num_instances': 1, u'image': {u'status': u'active', u'name': u'fedora_iso', u'deleted': False, u'container_format': u'ovf', u'created_at': u'2011-11-29 17:10:27.140409', u'disk_format': u'iso', u'updated_at': u'2011-11-29 17:10:47.737498', u'properties': {u'min_disk': u'0', u'owner': None, u'min_ram': u'0'}, u'location': u'file:///var/lib/glance/images/4', u'checksum': u'20c39452cac6b1e6966f6b7edc704236', u'is_public': False, u'deleted_at': None, u'id': 4, u'size': 567279616}, u'filter': None, u'instance_type': {u'rxtx_quota': 0, u'flavorid': 2, u'name': u'm1.small', u'deleted': False, u'created_at': None, u'updated_at': None, u'memory_mb': 2048, u'vcpus': 1, u'rxtx_cap': 0, u'extra_specs': {}, u'swap': 0, u'deleted_at': None, u'id': 5, u'local_gb': 20}, u'blob': None, u'instance_properties': {u'vm_state': u'building', u'availability_zone': None, u'ramdisk_id': u'', u'instance_type_id': 5, u'user_data': u'', u'vm_mode': None, u'reservation_id': u'r-40470cnx', u'user_id': u'mb', u'display_description': u'test_iso', u'key_data': None, u'power_state': 0, u'project_id': u'openstack', u'metadata': {}, u'access_ip_v6': None, u'access_ip_v4': None, u'kernel_id': u'', u'key_name': None, u'display_name': u'test_iso', u'config_drive_id': u'', u'local_gb': 20, u'architecture': None, u'locked': False, u'launch_time': u'2011-11-29T17:11:41Z', u'memory_mb': 2048, u'vcpus': 1, u'image_ref': 4, u'root_device_name': None, u'os_type': None, u'config_drive': u''}}, u'requested_networks': None, u'availability_zone': None, u'instance_id': 2, u'admin_password': u'SrMfKdDTTZBasddK', u'injected_files': []}, u'_context_auth_token': None, u'_context_strategy': u'noauth', u'_context_is_admin': True, u'_context_project_id': u'openstack', u'_context_timestamp': u'2011-11-29T17:11:41.548546', u'_context_user_id': u'mb', u'method': u'run_instance', u'_context_remote_address': u'127.0.0.1'} from (pid=25926) __call__ /usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py:600
2011-11-29 18:11:41,970 DEBUG nova.rpc [-] unpacked context: {'user_id': u'mb', 'roles': [], 'timestamp': u'2011-11-29T17:11:41.548546', 'auth_token': None, 'msg_id': None, 'remote_address': u'127.0.0.1', 'strategy': u'noauth', 'is_admin': True, 'request_id': u'180d772e-f33d-4d9d-b1bc-e8cf2235cf1d', 'project_id': u'openstack', 'read_deleted': False} from (pid=25926) _unpack_context /usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py:646
2011-11-29 18:11:42,845 DEBUG nova.compute.manager [-] image_id=4, image_size_bytes=567279616, allowed_size_bytes=21474836480 from (pid=25926) _check_image_size /usr/lib/python2.7/dist-packages/nova/compute/manager.py:354
2011-11-29 18:11:42,845 AUDIT nova.compute.manager [180d772e-f33d-4d9d-b1bc-e8cf2235cf1d mb openstack] instance 2: starting...
2011-11-29 18:11:42,927 DEBUG nova.rpc [-] Making asynchronous call on network ... from (pid=25926) multicall /usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py:721
2011-11-29 18:11:42,927 DEBUG nova.rpc [-] MSG_ID is 2007e0a029b14c108586eb89adef0d69 from (pid=25926) multicall /usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py:724
2011-11-29 18:11:43,290 DEBUG nova.compute.manager [-] instance network_info: |[[{u'bridge': u'xenbr0', u'multi_host': False, u'bridge_interface': None, u'vlan': None, u'id': 1, u'injected': False, u'cidr': u'10.0.0.0/26', u'cidr_v6': None}, {u'should_create_bridge': False, u'dns': [u'8.8.4.4'], u'vif_uuid': u'0de13766-6e67-4450-a557-954efc9754ff', u'label': u'private', u'broadcast': u'10.0.0.63', u'ips': [{u'ip': u'10.0.0.3', u'netmask': u'255.255.255.192', u'enabled': u'1'}], u'mac': u'02:16:3e:4c:78:1b', u'rxtx_cap': 0, u'should_create_vlan': False, u'dhcp_server': u'10.0.0.1', u'gateway': u'10.0.0.1'}]]| from (pid=25926) _run_instance /usr/lib/python2.7/dist-packages/nova/compute/manager.py:394
2011-11-29 18:11:43,474 DEBUG nova.virt.xenapi.vm_utils [-] Detected DISK_ISO format for image 4, instance 2 from (pid=25926) log_disk_format /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:627
2011-11-29 18:11:43,475 DEBUG nova.virt.xenapi.vm_utils [-] Fetching image 4 from (pid=25926) _fetch_image_glance_disk /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:536
2011-11-29 18:11:43,475 DEBUG nova.virt.xenapi.vm_utils [-] Image Type: iso from (pid=25926) _fetch_image_glance_disk /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:537
2011-11-29 18:11:43,502 DEBUG nova.virt.xenapi.vm_utils [-] ISO: looking at SR {'sm_config': {'iso_type': 'nfs_iso'}, 'PBDs': ['OpaqueRef:78881f24-c28c-2554-eabb-1f2254aedaa3'], 'current_operations': {}, 'uuid': 'ccce0fdc-01b8-1260-4fc0-3d9fca29dda3', 'VDIs': ['OpaqueRef:f415df82-362e-314b-a7c0-20856e6c3ed2', 'OpaqueRef:41889a58-f480-5f80-ab42-0d6dfc19afdd'], 'tags': [], 'physical_size': '121251037184', 'type': 'iso', 'other_config': {'auto-scan': 'true'}, 'name_label': 'NFS ISO library', 'allowed_operations': ['forget', 'vdi_create', 'plug', 'destroy', 'vdi_destroy', 'scan', 'vdi_clone', 'unplug'], 'physical_utilisation': '1696595968', 'local_cache_enabled': False, 'introduced_by': 'OpaqueRef:NULL', 'content_type': 'iso', 'shared': True, 'name_description': 'NFS ISO Library [172.22.100.9:/home/mvdborne/serveur_nfs]', 'virtual_allocation': '121251037184', 'blobs': {}} from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:967
2011-11-29 18:11:43,503 DEBUG nova.virt.xenapi.vm_utils [-] ISO: iso content_type, no 'i18n-key' key from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:972
2011-11-29 18:11:43,513 DEBUG nova.virt.xenapi.vm_utils [-] ISO: looking at SR {'sm_config': {'allocation': 'thick', 'use_vhd': 'true', 'devserial': 'scsi-3500000e117d7d720'}, 'PBDs': ['OpaqueRef:851b02fb-1bcc-5f7c-531c-f6a88eaaa833'], 'current_operations': {}, 'uuid': 'ab381847-45ed-d469-8131-90208e6bfe38', 'VDIs': ['OpaqueRef:9118ffaf-7479-a5b0-26f5-237c565906ff', 'OpaqueRef:8fdbb358-e594-0d02-9405-40cd998ec96c', 'OpaqueRef:cf18e701-62b5-5aec-1932-173bd6fae95c', 'OpaqueRef:7b8bd05c-0ba0-262a-1296-c767436ca2c2', 'OpaqueRef:d91d6e8e-eb40-7865-5c99-28bef10f3f06', 'OpaqueRef:c39cbc15-8729-e935-97d6-6cd2ad62bfa3', 'OpaqueRef:56309fe3-7499-0fbf-e489-8de472352511', 'OpaqueRef:ca6e078d-ecb7-5ece-886a-0ec8071d6140', 'OpaqueRef:bca2e336-a677-aad2-3adf-40a3dd7be161', 'OpaqueRef:e12c22d9-f9a5-77fa-12d3-2a7a3d3d0664', 'OpaqueRef:86ae81c2-91f1-6a68-9785-1c7e2d13920d'], 'tags': [], 'physical_size': '138210705408', 'type': 'lvm', 'other_config': {'i18n-original-value-name_label': 'Local storage', 'i18n-key': 'local-storage'}, 'name_label': 'Local storage', 'allowed_operations': ['forget', 'vdi_create', 'vdi_snapshot', 'plug', 'update', 'destroy', 'vdi_destroy', 'scan', 'vdi_clone', 'vdi_resize', 'unplug'], 'physical_utilisation': '34644951040', 'local_cache_enabled': False, 'introduced_by': 'OpaqueRef:NULL', 'content_type': 'user', 'shared': False, 'name_description': '', 'virtual_allocation': '49922703360', 'blobs': {}} from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:967
2011-11-29 18:11:43,513 DEBUG nova.virt.xenapi.vm_utils [-] ISO: not iso content from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:969
2011-11-29 18:11:43,522 DEBUG nova.virt.xenapi.vm_utils [-] ISO: looking at SR {'sm_config': {}, 'PBDs': ['OpaqueRef:218edd37-16c5-c4bd-9153-3491c4b2b184'], 'current_operations': {}, 'uuid': '25108eb3-503b-f5ba-26c0-4533ea9f5b09', 'VDIs': ['OpaqueRef:a91efb30-2d6d-7da5-d309-4e3c5f35a07b', 'OpaqueRef:ea229f47-524d-2a5c-3a10-22dcd2a2beaf'], 'tags': [], 'physical_size': '-1', 'type': 'iso', 'other_config': {'i18n-original-value-name_label': 'XenServer Tools', 'xensource_internal': 'true', 'i18n-key': 'xenserver-tools', 'xenserver_tools_sr': 'true', 'i18n-original-value-name_description': 'XenServer Tools ISOs'}, 'name_label': 'XenServer Tools', 'allowed_operations': ['forget', 'plug', 'destroy', 'scan', 'vdi_clone', 'unplug'], 'physical_utilisation': '-1', 'local_cache_enabled': False, 'introduced_by': 'OpaqueRef:NULL', 'content_type': 'iso', 'shared': True, 'name_description': 'XenServer Tools ISOs', 'virtual_allocation': '0', 'blobs': {}} from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:967
2011-11-29 18:11:43,522 DEBUG nova.virt.xenapi.vm_utils [-] ISO: iso content_type, i18n-key value not 'local-storage-iso' from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:975
2011-11-29 18:11:43,532 DEBUG nova.virt.xenapi.vm_utils [-] ISO: looking at SR {'sm_config': {'type': 'block'}, 'PBDs': ['OpaqueRef:555094ed-1f10-6bcf-713a-3767da172e8e'], 'current_operations': {}, 'uuid': '7a2a19b9-1a7d-b592-3862-25e90d65c942', 'VDIs': [], 'tags': [], 'physical_size': '0', 'type': 'udev', 'other_config': {'i18n-original-value-name_label': 'Removable storage', 'i18n-key': 'local-hotplug-disk'}, 'name_label': 'Removable storage', 'allowed_operations': ['forget', 'vdi_introduce', 'plug', 'update', 'destroy', 'scan', 'vdi_clone', 'unplug'], 'physical_utilisation': '0', 'local_cache_enabled': False, 'introduced_by': 'OpaqueRef:NULL', 'content_type': 'disk', 'shared': False, 'name_description': '', 'virtual_allocation': '0', 'blobs': {}} from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:967
2011-11-29 18:11:43,532 DEBUG nova.virt.xenapi.vm_utils [-] ISO: not iso content from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:969
2011-11-29 18:11:43,542 DEBUG nova.virt.xenapi.vm_utils [-] ISO: looking at SR {'sm_config': {'type': 'cd'}, 'PBDs': ['OpaqueRef:4762b924-7562-a396-1aae-5ba4962a35b9'], 'current_operations': {}, 'uuid': 'a585a6c7-606f-785e-6575-f831505d636c', 'VDIs': [], 'tags': [], 'physical_size': '0', 'type': 'udev', 'other_config': {'i18n-original-value-name_label': 'DVD drives', 'i18n-key': 'local-hotplug-cd', 'i18n-original-value-name_description': 'Physical DVD drives'}, 'name_label': 'DVD drives', 'allowed_operations': ['forget', 'vdi_introduce', 'plug', 'update', 'destroy', 'scan', 'vdi_clone', 'unplug'], 'physical_utilisation': '0', 'local_cache_enabled': False, 'introduced_by': 'OpaqueRef:NULL', 'content_type': 'iso', 'shared': False, 'name_description': 'Physical DVD drives', 'virtual_allocation': '0', 'blobs': {}} from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:967
2011-11-29 18:11:43,542 DEBUG nova.virt.xenapi.vm_utils [-] ISO: iso content_type, i18n-key value not 'local-storage-iso' from (pid=25926) find_iso_sr /usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py:975
2011-11-29 18:11:43,543 ERROR nova.compute.manager [-] Instance '2' failed to spawn. Is virtualization enabled in the BIOS? Details: Resource could not be found.
(nova.compute.manager): TRACE: Traceback (most recent call last):
(nova.compute.manager): TRACE:   File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 424, in _run_instance
(nova.compute.manager): TRACE:     network_info, block_device_info)
(nova.compute.manager): TRACE:   File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi_conn.py", line 190, in spawn
(nova.compute.manager): TRACE:     self._vmops.spawn(context, instance, network_info)
(nova.compute.manager): TRACE:   File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vmops.py", line 148, in spawn
(nova.compute.manager): TRACE:     vdis = self._create_disks(context, instance)
(nova.compute.manager): TRACE:   File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vmops.py", line 142, in _create_disks
(nova.compute.manager): TRACE:     disk_image_type)
(nova.compute.manager): TRACE:   File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py", line 427, in fetch_image
(nova.compute.manager): TRACE:     session, instance, image, image_type)
(nova.compute.manager): TRACE:   File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py", line 540, in _fetch_image_glance_disk
(nova.compute.manager): TRACE:     sr_ref = safe_find_iso_sr(session)
(nova.compute.manager): TRACE:   File "/usr/lib/python2.7/dist-packages/nova/virt/xenapi/vm_utils.py", line 956, in safe_find_iso_sr
(nova.compute.manager): TRACE:     raise exception.NotFound(_('Cannot find SR of content-type ISO'))
(nova.compute.manager): TRACE: NotFound: Resource could not be found.
(nova.compute.manager): TRACE: 
2011-11-29 18:11:58,172 DEBUG nova.manager [-] Notifying Schedulers of capabilities ... from (pid=25926) periodic_tasks /usr/lib/python2.7/dist-packages/nova/manager.py:111
2011-11-29 18:11:58,172 DEBUG nova.rpc [-] Making asynchronous fanout cast... from (pid=25926) fanout_cast /usr/lib/python2.7/dist-packages/nova/rpc/impl_kombu.py:755
2011-11-29 18:11:58,366 INFO nova.virt.xenapi.vm_utils [-] (VM_UTILS) xenserver vm state -> |Running|
2011-11-29 18:11:58,366 INFO nova.virt.xenapi.vm_utils [-] (VM_UTILS) xenapi power_state -> |1|
2011-11-29 18:11:58,476 INFO nova.virt.xenapi.vm_utils [-] (VM_UTILS) xenserver vm state -> |Running|
2011-11-29 18:11:58,477 INFO nova.virt.xenapi.vm_utils [-] (VM_UTILS) xenapi power_state -> |1|
2011-11-29 18:11:58,686 INFO nova.virt.xenapi.vm_utils [-] (VM_UTILS) xenserver vm state -> |Halted|
2011-11-29 18:11:58,686 INFO nova.virt.xenapi.vm_utils [-] (VM_UTILS) xenapi power_state -> |4|
2011-11-29 18:11:58,982 INFO nova.compute.manager [-] Found 2 in the database and 3 on the hypervisor.

Follow ups

References