Description of problem: Worked on previous puddle '2018-12-13.4' (see related BZ#1636395). When attempting to create a port with a binding-profile 'trusted:true' on a SR-IOV network and attaching it to an instance results in a failure. Network: openstack network show sriovone +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2019-01-27T09:07:04Z | | description | | | dns_domain | None | | id | e4e3f712-d77d-42fd-af39-81760d0607cd | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | is_vlan_transparent | None | | mtu | 9000 | | name | sriovone | | port_security_enabled | True | | project_id | 9d1cbd0845d44a4085b435e8194edf05 | | provider:network_type | vlan | | provider:physical_network | sriov-1 | | provider:segmentation_id | 600 | | qos_policy_id | None | | revision_number | 4 | | router:external | Internal | | segments | None | | shared | False | | status | ACTIVE | | subnets | 2a72f5c7-381c-48a7-bf08-66247c658729 | | tags | | | updated_at | 2019-01-27T09:07:05Z | +---------------------------+--------------------------------------+ Create port: openstack port create --network e4e3f712-d77d-42fd-af39-81760d0607cd --vnic-type direct --binding-profile trusted=true Trusted_Port +-----------------------+------------------------------------------------------------------------------+ | Field | Value | +-----------------------+------------------------------------------------------------------------------+ | admin_state_up | UP | | allowed_address_pairs | | | binding_host_id | | | binding_profile | trusted='true' | | binding_vif_details | | | binding_vif_type | unbound | | binding_vnic_type | direct | | created_at | 2019-01-27T09:10:45Z | | data_plane_status | None | | description | | | device_id | | | device_owner | | | dns_assignment | None | | dns_name | None | | extra_dhcp_opts | | | fixed_ips | ip_address='60.20.135.101', subnet_id='2a72f5c7-381c-48a7-bf08-66247c658729' | | id | b65d4d97-38fa-4944-96e8-55745a62ba16 | | ip_address | None | | mac_address | fa:16:3e:fe:7f:9d | | name | Trusted_Port | | network_id | e4e3f712-d77d-42fd-af39-81760d0607cd | | option_name | None | | option_value | None | | port_security_enabled | True | | project_id | 2bd99f0cb36342debfdddbf75a74a842 | | qos_policy_id | None | | revision_number | 6 | | security_group_ids | b03cd43e-e6ae-4398-8782-5465246feccf | | status | DOWN | | subnet_id | None | | tags | | | trunk_details | None | | updated_at | 2019-01-27T09:10:45Z | +-----------------------+------------------------------------------------------------------------------+ Boot an instance: openstack server create --flavor m1.medium.huge_pages_cpu_pinning_numa_node-0 --image rhel-guest-image-7.5-192.x86_64.qcow2 --nic port-id=b65d4d97-38fa-4944-96e8-55745a62ba16 TrustedVM +-------------------------------------+-------------------------------------------------------------------------------------+ | Field | Value | +-------------------------------------+-------------------------------------------------------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | | | OS-EXT-SRV-ATTR:host | None | | OS-EXT-SRV-ATTR:hypervisor_hostname | None | | OS-EXT-SRV-ATTR:instance_name | | | OS-EXT-STS:power_state | NOSTATE | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | None | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | | | adminPass | RCHW4wTKcorm | | config_drive | | | created | 2019-01-27T09:13:10Z | | flavor | m1.medium.huge_pages_cpu_pinning_numa_node-0 (8c6066e6-c4e6-4f67-885b-52ae4fb1d3e5) | | hostId | | | id | 98e9a02c-bbac-4920-8530-31847ebcce13 | | image | rhel-guest-image-7.5-192.x86_64.qcow2 (17bf4664-b172-4997-8190-d65fa3aa42b4) | | key_name | None | | name | TrustedVM | | progress | 0 | | project_id | 2bd99f0cb36342debfdddbf75a74a842 | | properties | | | security_groups | name='default' | | status | BUILD | | updated | 2019-01-27T09:13:10Z | | user_id | 2d89968bd40646d8897a0598f42d2d7e | | volumes_attached | | +-------------------------------------+-------------------------------------------------------------------------------------+ View instances state: openstack server list +--------------------------------------+--------------+--------+------------------------+---------------------------------------+----------------------------------------------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+--------------+--------+------------------------+---------------------------------------+----------------------------------------------+ | 98e9a02c-bbac-4920-8530-31847ebcce13 | TrustedVM | ERROR | | rhel-guest-image-7.5-192.x86_64.qcow2 | m1.medium.huge_pages_cpu_pinning_numa_node-0 | | a519721e-3ba8-4819-bcd2-d0a812061a6a | NonTrustedVM | ACTIVE | sriovone=60.20.135.116 | rhel-guest-image-7.5-192.x86_64.qcow2 | m1.medium.huge_pages_cpu_pinning_numa_node-0 | +--------------------------------------+--------------+--------+------------------------+---------------------------------------+----------------------------------------------+ View TrustedVM: openstack server show 98e9a02c-bbac-4920-8530-31847ebcce13 -c fault -f value {u'message': u'No valid host was found. There are not enough hosts available.', u'code': 500, u'details': u' File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 1145, in schedule_and_build_instances\n instance_uuids, return_alternates=True)\n File "/usr/lib/python2.7/site-packages/nova/conductor/manager.py", line 742, in _schedule_instances\n return_alternates=return_alternates)\n File "/usr/lib/python2.7/site-packages/nova/scheduler/utils.py", line 787, in wrapped\n return func(*args, **kwargs)\n File "/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 53, in select_destinations\n instance_uuids, return_objects, return_alternates)\n File "/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 37, in __run_method\n return getattr(self.instance, __name)(*args, **kwargs)\n File "/usr/lib/python2.7/site-packages/nova/scheduler/client/query.py", line 42, in select_destinations\n instance_uuids, return_objects, return_alternates)\n File "/usr/lib/python2.7/site-packages/nova/scheduler/rpcapi.py", line 158, in select_destinations\n return cctxt.call(ctxt, \'select_destinations\', **msg_args)\n File "/usr/lib/python2.7/site-packages/oslo_messaging/rpc/client.py", line 174, in call\n retry=self.retry)\n File "/usr/lib/python2.7/site-packages/oslo_messaging/transport.py", line 131, in _send\n timeout=timeout, retry=retry)\n File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 559, in send\n retry=retry)\n File "/usr/lib/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py", line 550, in _send\n raise result\n', u'created': u'2019-01-27T09:13:12Z'} Resulted in the following error on compute node: cat /var/log/containers/nova/noca-compute.log (text omitted) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager [req-a29c0d23-5e5d-47f7-a7e9-1b41a76ef8b0 - - - - -] Error updating resources for node compute-0.localdomain.: libvirtError: Node device not found: no node device with matching name 'net_eth1_8a_68_bd_df_0e_bc' 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager Traceback (most recent call last): 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 7379, in update_available_resource_for_node 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager rt.update_available_resource(context, nodename) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 673, in update_available_resource 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager resources = self.driver.get_available_resource(nodename) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 6426, in get_available_resource 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager self._get_pci_passthrough_devices() 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5922, in _get_pci_passthrough_devices 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager pci_info.append(self._get_pcidev_info(name)) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5883, in _get_pcidev_info 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager device.update(_get_device_capabilities(device, address)) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5854, in _get_device_capabilities 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager pcinet_info = self._get_pcinet_info(address) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 5797, in _get_pcinet_info 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager virtdev = self._host.device_lookup_by_name(devname) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/host.py", line 838, in device_lookup_by_name 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager return self.get_connection().nodeDeviceLookupByName(name) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 186, in doit 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager result = proxy_call(self._autowrap, f, *args, **kwargs) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 144, in proxy_call 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager rv = execute(f, *args, **kwargs) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 125, in execute 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager six.reraise(c, e, tb) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager rv = meth(*args, **kwargs) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager File "/usr/lib64/python2.7/site-packages/libvirt.py", line 4295, in nodeDeviceLookupByName 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager if ret is None:raise libvirtError('virNodeDeviceLookupByName() failed', conn=self) 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager libvirtError: Node device not found: no node device with matching name 'net_eth1_8a_68_bd_df_0e_bc' 2019-01-27 07:24:05.460 1 ERROR nova.compute.manager (text omitted) Will attach SOS reports in the comment. Version-Release number of selected component (if applicable): puddle: '2019-01-22.1' puppet-nova-12.4.0-14.el7ost.noarch openstack-nova-conductor-17.0.7-5.el7ost.noarch python-nova-17.0.7-5.el7ost.noarch openstack-nova-compute-17.0.7-5.el7ost.noarch openstack-nova-scheduler-17.0.7-5.el7ost.noarch python2-novaclient-10.1.0-1.el7ost.noarch openstack-nova-migration-17.0.7-5.el7ost.noarch openstack-nova-api-17.0.7-5.el7ost.noarch openstack-nova-common-17.0.7-5.el7ost.noarch openstack-nova-console-17.0.7-5.el7ost.noarch openstack-nova-placement-api-17.0.7-5.el7ost.noarch openstack-nova-novncproxy-17.0.7-5.el7ost.noarch How reproducible: always Steps to Reproduce: 1. Deploy overcloud with SR-IOV capabilities 2. Create 'SR-IOV network' 3. Create port with binding-profile 'trusted:true' 4. Spawn instance Actual results: Instance fails to spawn Expected results: Successful spawn of instance Additional info:
I used old templates which did not enable Trusted Virtual Functions when deploying with TripleO. Everything works with correct templates.