yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #78235
[Bug 1822801] Re: Baremetal port's host_id get updated during instance restart
Reviewed: https://review.opendev.org/649345
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=091aa3289694a27704e48931a579f50a3179b036
Submitter: Zuul
Branch: master
commit 091aa3289694a27704e48931a579f50a3179b036
Author: Hamdy Khader <hamdyk@xxxxxxxxxxxx>
Date: Tue Apr 2 17:26:14 2019 +0300
Do not perform port update in case of baremetal instance.
In case of a baremetal instance, the instance's port binding:host_id
gets updated during instance reboot to the nova compute host id by
the periodic task: _heal_instance_info_cache. This regression was
introduced in commit: I75fd15ac2a29e420c09499f2c41d11259ca811ae
This is an un-desirable change as ironic virt driver did the original
port binding, nova should not update the value.
In case of a baremetal port, the binding:host_id represents the ironic
node_uuid. In case of a SmartNIC(baremetal) port[1] the binding:host_id
represent the SmartNIC hostname and it MUST not change since ironic
relies on that information as well as the Neutron agent that runs on
the SmartNIC.
A new API method was added, "manages_port_bindings()", to ComputeDriver
that defaults to False, and overriden in IronicDriver to True.
A call to this API method is now made in _heal_instance_info_cache() to
prevent port update for instance ports in case the underlying
ComputeDriver manages the port binding.
[1] I658754f7f8c74087b0aabfdef222a2c0b5698541
Change-Id: I47d1aba17cd2e9fff67846cc243c8fbd9ac21659
Closes-Bug: #1822801
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1822801
Title:
Baremetal port's host_id get updated during instance restart
Status in OpenStack Compute (nova):
Fix Released
Status in OpenStack Compute (nova) stein series:
Confirmed
Bug description:
In case of baremetal overcloud, the instance ports gets updated during instance reboot[1] to change host_id
to be the nova compute host_id.
This way baremetal ports' host_id will be changed to indicate the nova
host_id instead of ironic node uuid.
In case of normal instance or even baremetal instance it wouldn't be a problem but in case of SmartNIC
baremetal instance the port's host_id is important to communicate with the relevant Neutron agent running on the SmartNIC as the port's host_id contains the SmartNIC host name.
Reproduce:
- deploy baremetal overcloud
- create baremetal instance
- after creation complete, check port details and notice binding_host_id=overcloud-controller-0.localdomain
[1] https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L7191
Nova version:
()[root@overcloud-controller-0 /]# rpm -qa | grep nova
puppet-nova-14.4.1-0.20190322112825.740f45a.el7.noarch
python2-nova-19.0.0-0.20190322140639.d7c8924.el7.noarch
python2-novajoin-1.1.2-0.20190322123935.e8b18c4.el7.noarch
openstack-nova-compute-19.0.0-0.20190322140639.d7c8924.el7.noarch
python2-novaclient-13.0.0-0.20190311121537.62bf880.el7.noarch
openstack-nova-common-19.0.0-0.20190322140639.d7c8924.el7.noarch
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1822801/+subscriptions
References