Description of problem:
When restarting the openstack-ironic-conductor service after modifying the `enabled_drivers` section of the ironic.conf file it failed silently.
service fails when enabled_drivers have :
1. empty driver space:
enabled_drivers = pxe_ipmitool,pxe_drac,pxe_ssh,pxe_ilo,pxe_wol,,pxe_amt
2. comma at end of line -
enabled_drivers = pxe_ipmitool,pxe_drac,pxe_ssh,pxe_ilo,pxe_wol,pxe_amt,
3. unknown drive -
enabled_drivers = pxe_ipmitool,pxe_drac,pxe_ssh,pxe_ilo,pxe_wol,pxe_amt,pxe_xza
4. missing packaged for supported drive (addition to default drivers list) -
enabled_drivers = pxe_ipmitool,pxe_drac,pxe_ssh,pxe_ilo,pxe_wol,pxe_amt, pxs_imrc
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. edit /etc/ironic/ironic.conf
2. restart conductor - systemctl restart openstack-ironic-conductor
3. check service status - systemctl status openstack-ironic-conductor
service will issue error message to stderr when failing to start.
+ Improve parsing abilities to avoid failure in case of typing error like double comma ,,
This bug is and addition to bug # 1319841 - openstack-ironic-conductor service failing silently with bad config
I've uploaded a patch fixing case 1) With space and 2) Trailing comma.
Ironic already behaves correctly for case 3) and 4), the conductor-service should not start up if one (or more) of the drivers can not be loaded.
Error output for 3):
2016-12-06 16:42:47.879 3956 ERROR oslo_service.service DriverNotFoundInEntrypoint: Could not find the following driver(s) in the 'ironic.drivers' entrypoint: pxe_nonexist.
Error output for 4):
2016-12-06 16:28:50.716 1438 ERROR oslo_service.service DriverLoadError: Driver PXEDracDriver could not be loaded. Reason: Unable to import python-dracclient library.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.