Bug 1583893
| Summary: | [RHOSP12] Not able to register baremetal nodes when using pxe_ucs driver | |||
|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | MD Sufiyan <msufiyan> | |
| Component: | openstack-tripleo-common | Assignee: | Ilya Etingof <ietingof> | |
| Status: | CLOSED ERRATA | QA Contact: | mlammon | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 12.0 (Pike) | CC: | bfournie, ietingof, konrad.meier, mburns, slinaber, srevivo | |
| Target Milestone: | z4 | Keywords: | Triaged, ZStream | |
| Target Release: | 12.0 (Pike) | Flags: | ietingof:
needinfo-
|
|
| Hardware: | x86_64 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | openstack-tripleo-common-7.6.13-5.el7ost | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1596763 (view as bug list) | Environment: | ||
| Last Closed: | 2018-12-05 18:52:40 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: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1596763 | |||
Hi Team, Any update on this ? thanks.. Sufiyan Sufiyan - the patch is still in review, we will push it along. installed latest osp 12 -p 2018-11-14.1
No hardware to reproduce so will just verify environment seemed updated an in order.
please re-open if issue still continues.
Environment:
openstack-tripleo-common-7.6.13-6.el7ost.noarch
verify new driver code in place for ucs
/usr/lib/python2.7/site-packages/tripleo_common/utils/nodes.py
class UcsDriverInfo(DriverInfo):
def __init__(self):
mapping = {
'pm_addr': 'ucs_address',
'pm_user': 'ucs_username',
'pm_password': 'ucs_password',
'pm_service_profile': 'ucs_service_profile'
}
mandatory_fields = list(mapping)
super(UcsDriverInfo, self).__init__(
'ucs', mapping,
mandatory_fields=mandatory_fields
)
def unique_id_from_fields(self, fields):
try:
return '%s:%s' % (fields['pm_addr'], fields['pm_service_profile'])
except KeyError:
return
def unique_id_from_node(self, node):
try:
return '%s:%s' % (node.driver_info['ucs_address'],
node.driver_info['ucs_service_profile'])
except KeyError:
return
^^^^^
DRIVER_INFO = {
# production drivers
'(ipmi|.*_ipmitool)': PrefixedDriverInfo('ipmi', has_port=True,
default_port=623),
'.*_drac': PrefixedDriverInfo('drac', has_port=True),
'.*_ilo': PrefixedDriverInfo('ilo'),
'.*_ucs': UcsDriverInfo(), <---
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. https://access.redhat.com/errata/RHBA-2018:3789 |
Description of problem: Not able to register baremetal nodes when using pxe_ucs driver and hitting below error ~~~ (undercloud) [stack@osdirector ~]$ openstack overcloud node import instackenv.json Started Mistral Workflow tripleo.baremetal.v1.register_or_update. Execution ID: 1e910049-529b-41b3-89f3-54f1c42e0560 Waiting for messages on queue 'bb63c2f0-d05b-44a2-93b3-ea7ce8c69b79' with no timeout. Invalid node data: node #1: Node identified by 10.x.y.z is already present {u'status': u'FAILED', u'message': u'Invalid node data: node #1: Node identified by 10.x.y.z is already present', u'result': None} Exception registering nodes: {u'status': u'FAILED', u'message': u'Invalid node data: node #1: Node identified by 10.x.y.z is already present', u'result': None} ~~~ ~~~ egrep -iv '^$|^#' ../sosreport-20180523-122212/etc/ironic/ironic.conf | grep -i enabled_driver enabled_drivers=pxe_ucs,pxe_ipmitool,fake_pxe ~~~ This works fine with fake_pxe and pxe_ipmitool, however issue appears when using pxe_ucs driver. It seems the IP for some reason IP address has been used as unique id in the code. Version-Release number of selected component (if applicable): ~~~ OSP : rhosp12 Ironic: cat ../sosreport-20180523-122212/installed-rpms | grep -i ironic openstack-ironic-api-9.1.3-1.el7ost.noarch Wed May 16 17:51:13 2018 openstack-ironic-common-9.1.3-1.el7ost.noarch Wed May 16 17:51:06 2018 openstack-ironic-conductor-9.1.3-1.el7ost.noarch Wed May 16 17:51:21 2018 openstack-ironic-inspector-6.0.1-1.el7ost.noarch Wed May 16 17:51:30 2018 puppet-ironic-11.5.0-1.el7ost.noarch Wed May 16 16:07:16 2018 python-ironic-inspector-client-2.1.0-1.el7ost.noarch Wed May 16 16:07:22 2018 python-ironic-lib-2.10.0-1.el7ost.noarch Wed May 16 17:51:04 2018 python-ironicclient-1.17.0-1.el7ost.noarch Wed May 16 16:07:26 2018 How reproducible: Evertime when using pxe_ucs driver