[Starlingx-discuss] StarlingX QAT validation progress
Perez, Ricardo O
ricardo.o.perez at intel.com
Mon May 27 03:27:31 UTC 2019
Hello team,
Thanks for sharing the information about Passthrough. :)
I have some questions regarding this.
Currently I have the following QAT device in our infrastructure servers:
[wrsroot at controller-0 ~(keystone_admin)]$ system host-device-list compute-0
+------------+--------------+----------+-----------+-----------+----------------------+-------------------------+---------------------------------
| name | address | class id | vendor id | device id | class name | vendor name | device name
+------------+--------------+----------+-----------+-----------+----------------------+-------------------------+---------------------------------
| pci_0000_0 | 0000:02:00.0 | 030000 | 1a03 | 2000 | VGA compatible | ASPEED Technology, Inc. | ASPEED Graphics Family
| 2_00_0 | | | | | controller | |
| | | | | | | |
| pci_0000_1 | 0000:1a:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technol
| a_00_0 | | | | | | |
| | | | | | | |
| pci_0000_1 | 0000:1c:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technol
| c_00_0 | | | | | | |
| | | | | | | |
| pci_0000_1 | 0000:1e:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technol
| e_00_0 | | | | | | |
| | | | | | | |
+------------+--------------+----------+-----------+-----------+----------------------+-------------------------+---------------------------------
[wrsroot at controller-0 ~(keystone_admin)]$ system host-device-list compute-1
+------------+--------------+----------+-----------+-----------+----------------------+-------------------------+---------------------------------
| name | address | class id | vendor id | device id | class name | vendor name | device name
+------------+--------------+----------+-----------+-----------+----------------------+-------------------------+---------------------------------
| pci_0000_0 | 0000:02:00.0 | 030000 | 1a03 | 2000 | VGA compatible | ASPEED Technology, Inc. | ASPEED Graphics Family
| 2_00_0 | | | | | controller | |
| | | | | | | |
| pci_0000_1 | 0000:1a:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technol
| a_00_0 | | | | | | |
| | | | | | | |
| pci_0000_1 | 0000:1c:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technol
| c_00_0 | | | | | | |
| | | | | | | |
| pci_0000_1 | 0000:1e:00.0 | 0b4000 | 8086 | 37c8 | Co-processor | Intel Corporation | C62x Chipset QuickAssist Technol
| e_00_0 | | | | | | |
| | | | | | | |
+------------+--------------+----------+-----------+-----------+----------------------+-------------------------+---------------------------------
And these are the device listed:
compute-1:~$ sudo service qat_service status
Password:
Checking status of all devices.
There is 51 QAT acceleration device(s) in the system:
qat_dev0 - type: c6xx, inst_id: 0, node_id: 0, bsf: 0000:1a:00.0, #accel: 5 #engines: 10 state: up
qat_dev1 - type: c6xx, inst_id: 1, node_id: 0, bsf: 0000:1c:00.0, #accel: 5 #engines: 10 state: up
qat_dev2 - type: c6xx, inst_id: 2, node_id: 0, bsf: 0000:1e:00.0, #accel: 5 #engines: 10 state: up
qat_dev3 - type: c6xxvf, inst_id: 0, node_id: 0, bsf: 0000:1a:01.0, #accel: 1 #engines: 1 state: up
qat_dev4 - type: c6xxvf, inst_id: 1, node_id: 0, bsf: 0000:1a:01.1, #accel: 1 #engines: 1 state: up
qat_dev5 - type: c6xxvf, inst_id: 2, node_id: 0, bsf: 0000:1a:01.2, #accel: 1 #engines: 1 state: up
qat_dev6 - type: c6xxvf, inst_id: 3, node_id: 0, bsf: 0000:1a:01.3, #accel: 1 #engines: 1 state: up
qat_dev7 - type: c6xxvf, inst_id: 4, node_id: 0, bsf: 0000:1a:01.4, #accel: 1 #engines: 1 state: up
qat_dev8 - type: c6xxvf, inst_id: 5, node_id: 0, bsf: 0000:1a:01.5, #accel: 1 #engines: 1 state: up
qat_dev9 - type: c6xxvf, inst_id: 6, node_id: 0, bsf: 0000:1a:01.6, #accel: 1 #engines: 1 state: up
qat_dev10 - type: c6xxvf, inst_id: 7, node_id: 0, bsf: 0000:1a:01.7, #accel: 1 #engines: 1 state: up
qat_dev11 - type: c6xxvf, inst_id: 8, node_id: 0, bsf: 0000:1a:02.0, #accel: 1 #engines: 1 state: up
qat_dev12 - type: c6xxvf, inst_id: 9, node_id: 0, bsf: 0000:1a:02.1, #accel: 1 #engines: 1 state: up
qat_dev13 - type: c6xxvf, inst_id: 10, node_id: 0, bsf: 0000:1a:02.2, #accel: 1 #engines: 1 state: up
qat_dev14 - type: c6xxvf, inst_id: 11, node_id: 0, bsf: 0000:1a:02.3, #accel: 1 #engines: 1 state: up
qat_dev15 - type: c6xxvf, inst_id: 12, node_id: 0, bsf: 0000:1a:02.4, #accel: 1 #engines: 1 state: up
qat_dev16 - type: c6xxvf, inst_id: 13, node_id: 0, bsf: 0000:1a:02.5, #accel: 1 #engines: 1 state: up
qat_dev17 - type: c6xxvf, inst_id: 14, node_id: 0, bsf: 0000:1a:02.6, #accel: 1 #engines: 1 state: up
qat_dev18 - type: c6xxvf, inst_id: 15, node_id: 0, bsf: 0000:1a:02.7, #accel: 1 #engines: 1 state: up
qat_dev19 - type: c6xxvf, inst_id: 16, node_id: 0, bsf: 0000:1c:01.0, #accel: 1 #engines: 1 state: up
qat_dev20 - type: c6xxvf, inst_id: 17, node_id: 0, bsf: 0000:1c:01.1, #accel: 1 #engines: 1 state: up
qat_dev21 - type: c6xxvf, inst_id: 18, node_id: 0, bsf: 0000:1c:01.2, #accel: 1 #engines: 1 state: up
qat_dev22 - type: c6xxvf, inst_id: 19, node_id: 0, bsf: 0000:1c:01.3, #accel: 1 #engines: 1 state: up
qat_dev23 - type: c6xxvf, inst_id: 20, node_id: 0, bsf: 0000:1c:01.4, #accel: 1 #engines: 1 state: up
qat_dev24 - type: c6xxvf, inst_id: 21, node_id: 0, bsf: 0000:1c:01.5, #accel: 1 #engines: 1 state: up
qat_dev25 - type: c6xxvf, inst_id: 22, node_id: 0, bsf: 0000:1c:01.6, #accel: 1 #engines: 1 state: up
qat_dev26 - type: c6xxvf, inst_id: 23, node_id: 0, bsf: 0000:1c:01.7, #accel: 1 #engines: 1 state: up
qat_dev27 - type: c6xxvf, inst_id: 24, node_id: 0, bsf: 0000:1c:02.0, #accel: 1 #engines: 1 state: up
qat_dev28 - type: c6xxvf, inst_id: 25, node_id: 0, bsf: 0000:1c:02.1, #accel: 1 #engines: 1 state: up
qat_dev29 - type: c6xxvf, inst_id: 26, node_id: 0, bsf: 0000:1c:02.2, #accel: 1 #engines: 1 state: up
qat_dev30 - type: c6xxvf, inst_id: 27, node_id: 0, bsf: 0000:1c:02.3, #accel: 1 #engines: 1 state: up
qat_dev31 - type: c6xxvf, inst_id: 28, node_id: 0, bsf: 0000:1c:02.4, #accel: 1 #engines: 1 state: up
qat_dev32 - type: c6xxvf, inst_id: 29, node_id: 0, bsf: 0000:1c:02.5, #accel: 1 #engines: 1 state: up
qat_dev33 - type: c6xxvf, inst_id: 30, node_id: 0, bsf: 0000:1c:02.6, #accel: 1 #engines: 1 state: up
qat_dev34 - type: c6xxvf, inst_id: 31, node_id: 0, bsf: 0000:1c:02.7, #accel: 1 #engines: 1 state: up
qat_dev35 - type: c6xxvf, inst_id: 32, node_id: 0, bsf: 0000:1e:01.0, #accel: 1 #engines: 1 state: up
qat_dev36 - type: c6xxvf, inst_id: 33, node_id: 0, bsf: 0000:1e:01.1, #accel: 1 #engines: 1 state: up
qat_dev37 - type: c6xxvf, inst_id: 34, node_id: 0, bsf: 0000:1e:01.2, #accel: 1 #engines: 1 state: up
qat_dev38 - type: c6xxvf, inst_id: 35, node_id: 0, bsf: 0000:1e:01.3, #accel: 1 #engines: 1 state: up
qat_dev39 - type: c6xxvf, inst_id: 36, node_id: 0, bsf: 0000:1e:01.4, #accel: 1 #engines: 1 state: up
qat_dev40 - type: c6xxvf, inst_id: 37, node_id: 0, bsf: 0000:1e:01.5, #accel: 1 #engines: 1 state: up
qat_dev41 - type: c6xxvf, inst_id: 38, node_id: 0, bsf: 0000:1e:01.6, #accel: 1 #engines: 1 state: up
qat_dev42 - type: c6xxvf, inst_id: 39, node_id: 0, bsf: 0000:1e:01.7, #accel: 1 #engines: 1 state: up
qat_dev43 - type: c6xxvf, inst_id: 40, node_id: 0, bsf: 0000:1e:02.0, #accel: 1 #engines: 1 state: up
qat_dev44 - type: c6xxvf, inst_id: 41, node_id: 0, bsf: 0000:1e:02.1, #accel: 1 #engines: 1 state: up
qat_dev45 - type: c6xxvf, inst_id: 42, node_id: 0, bsf: 0000:1e:02.2, #accel: 1 #engines: 1 state: up
qat_dev46 - type: c6xxvf, inst_id: 43, node_id: 0, bsf: 0000:1e:02.3, #accel: 1 #engines: 1 state: up
qat_dev47 - type: c6xxvf, inst_id: 44, node_id: 0, bsf: 0000:1e:02.4, #accel: 1 #engines: 1 state: up
qat_dev48 - type: c6xxvf, inst_id: 45, node_id: 0, bsf: 0000:1e:02.5, #accel: 1 #engines: 1 state: up
qat_dev49 - type: c6xxvf, inst_id: 46, node_id: 0, bsf: 0000:1e:02.6, #accel: 1 #engines: 1 state: up
qat_dev50 - type: c6xxvf, inst_id: 47, node_id: 0, bsf: 0000:1e:02.7, #accel: 1 #engines: 1 state: up
However , following the steps to add the property to the flavor, and then, launching the VM, seems like there is no success on that (on launching the VM with the flavor that has been modified with "pci_passthrouh" property). See below:
controller-0:~# openstack flavor set m1.small --property "pci_passthrough:alias"="qat-c62x-vf:1"
controller-0:~# openstack server create --image cirros --flavor m1.small --network public-net0 qat-vm
+-------------------------------------+-------------------------------------------------+
| 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 | HoRe6J97skj2 |
| config_drive | |
| created | 2019-05-23T17:37:20Z |
| flavor | m1.small (31081c0f-2c10-40b2-b3f9-049ca660e12d) |
| hostId | |
| id | 7fd458f6-0584-4533-a30e-7d6e758b681b |
| image | cirros (3ecd6177-ae54-42a2-8aa3-a442e96f7642) |
| key_name | None |
| name | qat-vm |
| progress | 0 |
| project_id | 411d5846ca314075af13c7c496e44880 |
| properties | |
| security_groups | name='default' |
| status | BUILD |
| updated | 2019-05-23T17:37:20Z |
| user_id | 597d02e09d4d4a3b8172aeda82ab364d |
| volumes_attached | |
+-------------------------------------+-------------------------------------------------+
controller-0:~# openstack server list
+--------------------------------------+--------+--------+----------+--------+----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+--------+--------+----------+--------+----------+
| 7fd458f6-0584-4533-a30e-7d6e758b681b | qat-vm | ERROR | | cirros | m1.small |
+--------------------------------------+--------+--------+----------+--------+----------+
| fault | {u'message': u'No valid host was found. There are not enough hosts available.', u'code': 500, u'details': -packages/nova/conductor/manager.py", line 1326, in schedule_and_build_instances\n instance_uuids, return_alternates=True)\n File "/var/lib/optor/manager.py", line 780, in _schedule_instances\n return_alternates=return_alternates)\n File "/var/lib/openstack/lib/python2.7/site-packageselect_destinations\n instance_uuids, return_objects, return_alternates)\n File "/var/lib/openstack/lib/python2.7/site-packages/nova/scheduler return cctxt.call(ctxt, \'select_destinations\', **msg_args)\n File "/var/lib/openstack/lib/python2.7/site-packages/oslo_messaging/rpc/clientn File "/var/lib/openstack/lib/python2.7/site-packages/oslo_messaging/transport.py", line 128, in _send\n retry=retry)\n File "/var/lib/opens/_drivers/amqpdriver.py", line 645, in send\n call_monitor_timeout, retry=retry)\n File "/var/lib/openstack/lib/python2.7/site-packages/oslo_m_send\n raise result\n', u'created': u'2019-05-23T17:37:20Z'} |
| flavor | m1.small (31081c0f-2c10-40b2-b3f9-049ca660e12d)
The interesting thing is that if I launch a VM removing or with a flavor that doesn't contains the property "pci_passthrough" is launched successfully:
controller-0:~# openstack server create --image cirros --flavor m1.tiny --network public-net0 qat-vm2
+-------------------------------------+------------------------------------------------+
| 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 | L4B92gGvRgjG |
| config_drive | |
| created | 2019-05-23T17:47:26Z |
| flavor | m1.tiny (34caaa34-0475-4f5a-99ce-26a69adda91d) |
| hostId | |
| id | 218282da-d168-45d8-940a-62ca83c0c170 |
| image | cirros (3ecd6177-ae54-42a2-8aa3-a442e96f7642) |
| key_name | None |
| name | qat-vm2 |
| progress | 0 |
| project_id | 411d5846ca314075af13c7c496e44880 |
| properties | |
| security_groups | name='default' |
| status | BUILD |
| updated | 2019-05-23T17:47:26Z |
| user_id | 597d02e09d4d4a3b8172aeda82ab364d |
| volumes_attached | |
+-------------------------------------+------------------------------------------------+
controller-0:~# openstack server show qat-vm2
+-------------------------------------+----------------------------------------------------------+
| Field | Value |
+-------------------------------------+----------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-SRV-ATTR:host | compute-1 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | compute-1 |
| OS-EXT-SRV-ATTR:instance_name | instance-00000004 |
| OS-EXT-STS:power_state | Running |
| OS-EXT-STS:task_state | None |
| OS-EXT-STS:vm_state | active |
| OS-SRV-USG:launched_at | 2019-05-23T17:47:31.000000 |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | public-net0=192.168.101.194 |
| config_drive | |
| created | 2019-05-23T17:47:26Z |
| flavor | m1.tiny (34caaa34-0475-4f5a-99ce-26a69adda91d) |
| hostId | 9380803bfe0947a9094e2b7deb8044e5b40cb3761cd4ef63f0c21534 |
| id | 218282da-d168-45d8-940a-62ca83c0c170 |
| image | cirros (3ecd6177-ae54-42a2-8aa3-a442e96f7642) |
| key_name | None |
| name | qat-vm2 |
| progress | 0 |
| project_id | 411d5846ca314075af13c7c496e44880 |
| properties | |
| security_groups | name='default' |
| status | ACTIVE |
| updated | 2019-05-23T17:47:31Z |
| user_id | 597d02e09d4d4a3b8172aeda82ab364d |
| volumes_attached | |
+-------------------------------------+----------------------------------------------------------+
controller-0:~# openstack server list
+--------------------------------------+---------+--------+-----------------------------+--------+----------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+---------+--------+-----------------------------+--------+----------+
| 218282da-d168-45d8-940a-62ca83c0c170 | qat-vm2 | ACTIVE | public-net0=192.168.101.194 | cirros | m1.tiny |
| 7fd458f6-0584-4533-a30e-7d6e758b681b | qat-vm | ERROR | | cirros | m1.small |
+--------------------------------------+---------+--------+-----------------------------+--------+----------+
This is the YAML file, could you please guys take a look and see if something is missing ?
conf:
nova:
pci:
alias:
type: multistring
values:
- '{"vendor_id": "8086", "product_id": "37c8", "name": "qat-c62x-pf", "device_type": "type-PF"}'
overrides:
nova_compute:
hosts:
- conf:
nova:
DEFAULT:
my_ip: 192.168.206.3
shared_pcpu_map: '""'
vcpu_pin_set: '"2-35,38-71"'
libvirt:
images_type: default
live_migration_inbound_addr: 192.168.206.3
pci:
passthrough_whitelist:
type: multistring
values:
- '{"vendor_id": "8086", "product_id":"37c8", "address": "0000:1a:00.0"}'
- '{"vendor_id": "8086", "product_id":"37c8", "address": "0000:1c:00.0"}'
- '{"vendor_id": "8086", "product_id":"37c8", "address": "0000:1e:00.0"}'
vnc:
vncserver_listen: 0.0.0.0
vncserver_proxyclient_address: 192.168.206.3
name: controller-0
I'm using a 2+2 configuration with the following ISO version:
controller-0:~$ cat /etc/build.info
###
### StarlingX
### Built from master
###
OS="centos"
SW_VERSION="19.01"
BUILD_TARGET="Host Installer"
BUILD_TYPE="Formal"
BUILD_ID="20190522T013000Z"
JOB="STX_build_master_master"
BUILD_BY="starlingx.build at cengn.ca"
BUILD_NUMBER="112"
BUILD_HOST="starlingx_mirror"
BUILD_DATE="2019-05-22 01:30:00 +0000"
Thanks in advance
-Ricardo
From: Zhao, ShuaiX
Sent: Thursday, May 23, 2019 7:41 AM
To: Perez, Ricardo O <ricardo.o.perez at intel.com>; starlingx-discuss at lists.starlingx.io
Cc: Cabrales, Ada <ada.cabrales at intel.com>; Xie, Cindy <cindy.xie at intel.com>; Wang, Hai Tao <hai.tao.wang at intel.com>; Lin, Shuicheng <shuicheng.lin at intel.com>; 'fuyong at neusoft.com' <fuyong at neusoft.com>; 'zhangzhg at neusoft.com' <zhangzhg at neusoft.com>; 'lilong-neu at neusoft.com' <lilong-neu at neusoft.com>; 'zhaos' <zhaos at neusoft.com>; Zhao, ShuaiX <shuaix.zhao at intel.com>; 'sy at neusoft.com' <sy at neusoft.com>; 'zuoyl at neusoft.com' <zuoyl at neusoft.com>
Subject: RE: StarlingX QAT validation progress
Hi StarlingX Team :
Regarding upgrade qat driver to latest version for CentOS 7.6. After the successful QAT transplant,
we found that the current STX Temporarily unable to achieve perfect device passthrough operation.
Through continuous trials, we have found a way to achieve device passthrough method.
we hope to be able to help with the current device Passthrough test task..
Currently updated in Ricardo's documentation. Welcome your review.
Thx. - Neusoft Dalian ODC Intel Team
From: Xie, Cindy
Sent: Thursday, May 23, 2019 7:24 AM
To: Perez, Ricardo O <ricardo.o.perez at intel.com<mailto:ricardo.o.perez at intel.com>>; starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Cc: Cabrales, Ada <ada.cabrales at intel.com<mailto:ada.cabrales at intel.com>>; Zhao, ShuaiX <shuaix.zhao at intel.com<mailto:shuaix.zhao at intel.com>>
Subject: RE: StarlingX QAT validation progress
Thanks Ricardo. Haitao and Shuai will follow up with you for the progress we've made from China side.
Thx. - cindy
From: Perez, Ricardo O
Sent: Thursday, May 23, 2019 7:07 AM
To: starlingx-discuss at lists.starlingx.io<mailto:starlingx-discuss at lists.starlingx.io>
Cc: Xie, Cindy <cindy.xie at intel.com<mailto:cindy.xie at intel.com>>; Cabrales, Ada <ada.cabrales at intel.com<mailto:ada.cabrales at intel.com>>
Subject: StarlingX QAT validation progress
Hi super StarlingX team,
In the following document, you can find the progress about QAT + StarlingX validation in a 2+2 system.
Overall, some blockers that we have been facing to get more progress is the stability of the latest ISOs. However, we have at least executed 4 successfully test cases:
QAT_StarlingX_001
Verify that QAT PCIe module doesn't generate any StarlingX installation issue
QAT_StarlingX_002
Verify that QAT module can be listed via lsmod
QAT_StarlingX_003
Verify that QAT driver / service is up and running
QAT_StarlingX_004
Verify newly added system inventory commands to support crypto device
For all the details about the remaining test cases, expected coverage, and results, please take a look here:
https://docs.google.com/spreadsheets/d/1TEjHB5JCYKFUwf2TM4D23OIA-9huYhGZrokZABJP2Lg/edit#gid=118299536
Also feel free to add any comment / input related to such tests that you might consider important to improve them.
Thanks in advance
-Ricardo (a.k.a. Richo)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20190527/6cc6491f/attachment-0001.html>
More information about the Starlingx-discuss
mailing list