Bug 1377078

Summary: PXE_ssh virt=vmware enable set/get boot device
Product: Red Hat OpenStack Reporter: Tzach Shefi <tshefi>
Component: openstack-ironicAssignee: Lucas Alvares Gomes <lmartins>
Status: CLOSED WONTFIX QA Contact: Raviv Bar-Tal <rbartal>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 10.0 (Newton)CC: dsneddon, dtantsur, mburns, rhel-osp-director-maint, srevivo
Target Milestone: ---   
Target Release: 11.0 (Ocata)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-10 12:07:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Ironic api log none

Description Tzach Shefi 2016-09-18 08:42:39 UTC
Created attachment 1202128 [details]
Ironic api log

Description of problem: Ironic introspects a VMware VM's but when I try to deploy an image onto the vm it fails.

Nova fails "no valid hosts found", Nova hyper-visor stats are fine so is flavor and image.
Ironic node-list/show also look fine, then this smoking gun Ironic api log:
--------
  File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/ssh.py", line 763, in set_boot_device
    _set_boot_device(ssh_obj, driver_info, boot_device_map[device])

  File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/ssh.py", line 325, in _set_boot_device
    raise NotImplementedError()
------------

Version-Release number of selected component (if applicable):
rhel7.2 
openstack-ironic-inspector-3.2.2-4.el7ost.noarch
python-ironicclient-1.3.1-1.el7ost.noarch
python-ironic-inspector-client-1.5.0-3.el7ost.noarch
openstack-ironic-conductor-5.1.2-3.el7ost.noarch
python-ironic-lib-1.1.0-1.el7ost.noarch
python-ironic-tests-5.1.2-3.el7ost.noarch
openstack-ironic-api-5.1.2-3.el7ost.noarch
openstack-ironic-common-5.1.2-3.el7ost.noarch

How reproducible:
Every time.

Steps to Reproduce:
1. Install Openstack (undercloud), configure Nova with Ironic BM driver.
2. Import/introspect a VMware VM (use pxe_ssh virt=vmware)
3. In my case the VM's host was a VMware ESXi 5.5u3 server directly not the vcenter server.
4. Upload qcow2 image to Glance.
5. Try to Nova boot an instance, using ironic as BM driver.
6. Without added ssh.py code this will fail.
7. After adding code and restarting Ironic services, image is successfully deployed on a Vmware VM.


Actual results:

Nova fails "no valid hosts found", Nova hyper-visor stats are fine so is flavor and image.
Ironic node-list/show also look fine, then this smoking gun Ironic api log:
--------
  File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/ssh.py", line 763, in set_boot_device
    _set_boot_device(ssh_obj, driver_info, boot_device_map[device])

  File "/usr/lib/python2.7/site-packages/ironic/drivers/modules/ssh.py", line 325, in _set_boot_device
    raise NotImplementedError()

Expected results:
As happens after I add the missing code, instance successfully deployed on a VMware VM.


Additional info:
Credit https://mojo.redhat.com/docs/DOC-1034793

If any one at RH needs access ping me.

Comment 4 Dmitry Tantsur 2016-11-10 12:07:33 UTC
Upstream has stopped accepting changes for the pxe_ssh driver, so I have to close this request. Hopefully, the problem will go away when we start using virtualbmc.