Description of problem: When deploying an undercloud for a lab environment where no IPMI hardware is available fake(fake_pxe previously) is commonly used. This option does not seem to work as documented. Version-Release number of selected component (if applicable): How reproducible: Every time Steps to Reproduce: 1. Configure undercloud.conf with enabled_hardware_types = fake or set the same option in /etc/ironic/ironic.conf Actual results: openstack-ironic-conductor fail to start with the following error 2018-07-08 14:31:36.758 8831 WARNING oslo_config.cfg [-] Option "enabled_drivers" from group "DEFAULT" is deprecated for removal (Hardware types should be used instead of classic drivers. They are enabled via the enabled_hardware_types option.). Its value may be silently ignored in the future. 2018-07-08 14:31:36.769 8831 WARNING oslo_config.cfg [-] Option "api_url" from group "conductor" is deprecated for removal (Use [service_catalog]endpoint_override option instead if required to use a specific ironic api address, for example in noauth mode.). Its value may be silently ignored in the future. 2018-07-08 14:31:38.059 8831 INFO ironic.drivers.modules.ipmitool [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Option timing is supported by ipmitool 2018-07-08 14:31:38.080 8831 INFO ironic.drivers.modules.ipmitool [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Option single_bridge is supported by ipmitool 2018-07-08 14:31:38.101 8831 INFO ironic.drivers.modules.ipmitool [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Option dual_bridge is supported by ipmitool 2018-07-08 14:31:38.141 8831 WARNING ironic.common.driver_factory [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Driver "pxe_ilo" is UNSUPPORTED. It has been deprecated and may be removed in a future release. 2018-07-08 14:31:38.142 8831 WARNING ironic.common.driver_factory [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Driver "pxe_drac" is UNSUPPORTED. It has been deprecated and may be removed in a future release. 2018-07-08 14:31:38.142 8831 WARNING ironic.common.driver_factory [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Driver "pxe_ipmitool" is UNSUPPORTED. It has been deprecated and may be removed in a future release. 2018-07-08 14:31:38.142 8831 INFO ironic.common.driver_factory [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Loaded the following drivers: ['pxe_ilo', 'pxe_drac', 'pxe_ipmitool'] 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service [req-5b392377-c4ee-4da2-aeb3-799b63e88960 - - - - -] Error starting thread.: DriverNotFoundInEntrypoint: Could not find the following items in the 'ironic.hardware.types' entrypoint: fake. 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service Traceback (most recent call last): 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_service/service.py", line 729, in run_service 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service service.start() 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/ironic/common/rpc_service.py", line 54, in start 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service self.manager.init_host(admin_context) 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/ironic/conductor/base_manager.py", line 121, in init_host 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service hardware_types = driver_factory.hardware_types() 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/ironic/common/driver_factory.py", line 389, in hardware_types 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service return _get_all_drivers(HardwareTypesFactory()) 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/ironic/common/driver_factory.py", line 450, in __init__ 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service self.__class__._init_extension_manager() 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in inner 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service return f(*args, **kwargs) 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/ironic/common/driver_factory.py", line 520, in _init_extension_manager 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service on_missing_entrypoints_callback=missing_callback)) 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/stevedore/named.py", line 85, in __init__ 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service on_missing_entrypoints_callback(self._missing_names) 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service File "/usr/lib/python2.7/site-packages/ironic/common/driver_factory.py", line 511, in missing_callback 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service names=names, entrypoint=cls._entrypoint_name) 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service DriverNotFoundInEntrypoint: Could not find the following items in the 'ironic.hardware.types' entrypoint: fake. 2018-07-08 14:31:38.145 8831 ERROR oslo_service.service Expected results: Feature should work as documented. Additional info: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html/director_installation_and_usage/appe-power_management_drivers#sect-Fake_PXE_Driver
Greetings. Looks like the documentation is wrong. For the hardware type, it is "fake-hardware", not "fake" which was the "classic drivers" driver name.
Using fake-hardware doesn't seem to work either. I get this in ironic-conductor.log 2018-07-31 12:35:29.840 12080 ERROR ironic.conductor.base_manager [req-87b6e263-9f76-4256-91cf-028606267596 - - - - -] Failed to register hardware types. For hardware type 'fake-hardware', no default value found for deploy interface.: NoValidDefaultForInterface: For hardware type 'fake-hardware', no default value found for deploy interface. And trying to import nodes gives this error: Started Mistral Workflow tripleo.baremetal.v1.register_or_update. Execution ID: fe5c3441-0de0-4472-9519-e056474ac0a4 Waiting for messages on queue 'tripleo' with no timeout. No valid host was found. Reason: No conductor service registered which supports driver fake-hardware. (HTTP 400) Exception registering nodes: No valid host was found. Reason: No conductor service registered which supports driver fake-hardware. (HTTP 400)
So the default interface used is a union of the enabled interfaces with the hardware-type, so you'll need to set enabled_deploy_interfaces to at least include fake in the list, along with the other interfaces. The setup.cfg in the ironic repo lists all of the *_interfaces along with the individual possible values. https://git.openstack.org/cgit/openstack/ironic/tree/setup.cfg?h=11.0.0 Alternatively, if those are not set or not matching the nodes your trying to create, you may need a default_<interface>_interface setting, such as default_deploy_interface = fake setting.
Julia's answer appears correct. I added manual-management to the enable_hardware_types and the error went away. Hosts are not enrolling properly. enabled_hardware_types = manual-management,ipmi,redfish,ilo,idrac I alse test adding to discovery_default_driver and it worked properly as well: discovery_default_driver = manual-management
We have tried what Travis has done, but still having the same issue. Can anyone please update with a correct way of doing it ?
Hi, I found another bugzilla[1] which says manual-management is not yet supported in OSP13. I also would like to know how to set up fake driver in OSP13. https://bugzilla.redhat.com/show_bug.cgi?id=1607720
This bug has been closed as NOTABUG because the requested content seems to already exist in our documentation. If you believe this bug has been closed in error, please re-open and provide a comment telling us what additional documentation you require, and provide a link to your active support case. Thank you for your help!